dr.Brain

doctor Brain

мир глазами веб-разработчика

5 нужных HTTP заголовков

http-заголовки, необходимые для работы с различными API

dr.Brain

время чтения 3 мин.

Photo by Lars Bo Nielsen on Unsplash

Разработчики часто сталкиваются с необходимостью интеграции создаваемых веб-ресурсов с API различных программных продуктов, размещенных на сторонних удаленных серверах.

HTTP-заголовки являются парами “ключ/значение”, позволяющими пользователю приложения или веб-сайта передавать определенную дополнительную информацию обратно на сервер и получать некоторые данные от сервера. Такую информацию правильно будет называть “мета”-информацией запроса, так как обычно она не содержит основные данные (включаемые в тело запроса или ответа), но дает возможность получить некоторые полезные сведения, например: статус авторизации или информацию об источнике данных.

Итак, веб-разработчик должен хорошо знать наиболее важные http-заголовки. Так как по мере углубления в процесс программирования он будет работать с ними все чаще. Таким образом не стоит вопрос: встретите ли Вы http-заголовки в своих задачах и проектах. Рано или поздно http-заголовки неизбежно придут в Вашу жизнь.

Заголовки, получаемые от сервера, называются серверные заголовки (server-side headers). Заголовки, передаваемые пользовательским агентом, в свою очеред называются клиентскими заголовками (clients headers). В списке, приведенном ниже, я постарался указать тип каждого из заголовков.

Для начала рассмотрим заголовки, часто отправляемые с запросом на сервер:

  1. Authorization: заголовок клиентского запроса, определяющий статус авторизации пользователя. Фактически, это токен, указывающий на подлинность взаимодействия пользовательского агента с сервером. И это совсем не то же, что и аутентификация. Так аутентификация подразумевает фактическую проверку личности пользователя.
  2. Content-Type: данный заголовок может передаваться как со стороны клиента, так и со стороны сервера. Он указывает на тип данных передаваемого контента: JSON, текст и так далее.
  3. Accept: клиентский заголовок, указывающий, какие типы данных ожидаются от сервера. То есть заголовок указывает на формат данных, с которым сможет работать используемое приложение.
  4. Access-Control-Allow-Origin: заголовок, который передается со стороны сервера. Он содержит информацию о ресурсах, с которыми может взаимодействовать сервер в соответствии с протоколом COR. Если говорить более понятными словами: это встроенный в сервер белый список клиентов, с которыми данному серверу разрешено взаимодействие. Если на стороне клиента возникает ошибка со ссылкой на COR, скорее всего она будет связана именно с этим заголовком.
  5. Cookie: этот заголовок содержит метаданные, содержащиеся в файлах cookie в браузере пользователя. Таки заголовки часто, но не обязательно, отправляются сервером с заголовком Set-Cookie.

Также существует обширный список настраиваемых заголовков, часто используемых в работе программистами. Вот некоторые из них:

  1. X-Total-Count: это серверный заголовок используемый для пагинации. Он дает информацию об общем количестве ресурсов, возвращаемых запросом. С его помощью можно вывести количество страниц, оставшееся до конца списка.
  2. X-Server: заголовок указывает на то, какой именно сервер ответил запрос. Имеет значение при использовании решений с балансировкой нагрузке, когда на один и тот же запрос могут ответить различные серверы.
  3. X-Powered-By: заголовок сообщает о технологиях, используемых на стороне сервера. Не рекомендуется к использованию с точки зрения безопасности. Тем не менее он часто используется разработчиками.

Спасибо зв внимание.


Перевод статьи Alex Zito-Wolf “The 5 Most Important HTTP Headers”.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.