
Полязаголовка
Заголовки HTTP-сообщений имеют различные поля, используемые в запросах и ответах. Одни из них специально предназначены для запросов клиента, другие — для ответов сервера. Некоторые из этих полей не поддерживаются определенными клиентами или серверами. Подробнее поля описаны ниже.
Accept
В поле Accept перечислены возможные форматы данных при ответе на запрос. Большинство клиентов показывают допустимость всех форматов, водя в это поле звездочку (*). Нераспознанные форматы данных передаются пользователю с просьбой сопоставить их с некоторым MIME-типом.
Accept-Charset
Здесь перечислены наборы символов (помимо US-ASCII и ISO-8859-1), поддерживаемые клиентом.
Accept-Encoding
Это поле сходно с полем Accept, но описывает допустимые кодировки содержимого ответа.
Accept-Language
Это поле сходно с полем Accept, но указывает языки, допустимые в ответе.
Allow
В поле Allow перечислены поддерживаемые сервером команды (GET, HEAD и т. д.). Клиенту разрешено их использовать.
Authorization
Его применяют НТТР-серверы, не разрешающие анонимный доступ к некоторым ресурсам. В этом поле запроса передается «удостоверение личности» пользователя.
Для случаев, когда анонимный доступ невозможен, HTTP предоставляет простой механизм аутентификации типа «запрос-ответ». Допустимы различные механизмы аутентификации. В базовом для HTTP механизме аутентификации имя пользователя и пароль шифруются нестойким MIME-кодированием Base64. Некоторые HTTP-клиенты и серверы поддерживают другие, более безопасные методы.
В заголовок ответа, содержащего код «401 Unauthorized», сервер обязательно включает поле WWW-Authenticate, где описана причина отказа и поддерживаемые сервером методы аутентификации. После этого пользователь повторно передает запрос, заголовок которого содержит дополнительное поле Authorization с «удостоверением личности» для указанного механизма аутентификации. Если сервер не принимает это «удостоверение личности», то он отвечает кодом «403 Forbidden».
Content-Encoding
Здесь указан механизм кодирования (zip, compress и т. д.), который следует использовать для декодирования данных.
Content-Language
Здесь указан естественный язык предполагаемой аудитории.
Content-Length
Здесь определен размер тела переданного сообщения. В случае команды HEAD в этом поле указан размер данных, который имел бы место при использовании команды GET.
Content-Type
Здесь определен тип тела переданного сообщения. Для HTML-документов в этом поле обыкновенно находится «text/html». В случае команды HEAD в этом поле указан тип данных, который бы имел место при использовании команды GET.
Date
Здесь указаны дата и время создания сообщения.
Expires
Здесь указаны дата и время, когда данные теряют актуальность. После наступления указанного момента и до обновления данных HTTP-клиенты не должны эти данные кэшировать. Если в этом поле записан 0 (хотя это и неестественный вид), то данные теряют актуальность немедленно.
From
Здесь указан адрес электронной почты запрашивающего пользователя. Это поле применяется не в целях аутентификации, а для регистрации пользователей. В случае возникновения ошибок автоматизированные HTTP-клиенты, например роботы, должны содержать адрес электронной почты лица, ответственного за запуск робота.