Список заголовков HTTP
| HTTP |
| Persistence · Сжатие · SSL |
| Заголовки (список) |
| Cookie · ETag · Referer · User-Agent |
| Коды состояния |
- В данной статье описываются конкретные заголовки протокола HTTP.
Общие сведения по заголовкам смотрите в статье Заголовки HTTP.
Все заголовки разделяются на четыре основных группы:
- General Headers (русск. Основные заголовки) — должны включаться в любое сообщение клиента и сервера.
- Request Headers (русск. Заголовки запроса) — используются только в запросах клиента.
- Response Headers (русск. Заголовки ответа) — только для ответов от сервера.
- Entity Headers (русск. Заголовки сущности) — сопровождают каждую сущность сообщения.
Именно в таком порядке рекомендуется посылать заголовки получателю.
| Заголовок | GH | Запрос | Ответ | Появление* | Назначение | ||
|---|---|---|---|---|---|---|---|
| RH | EH | RH | EH | ||||
| Accept | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Список допустимых форматов ресурса. |
| Accept-Charset | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Перечень поддерживаемых кодировок для предоставления пользователю. |
| Accept-Encoding | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Перечень поддерживаемых способов кодирования содержимого сущности при передаче. |
| Accept-Language | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Список поддерживаемых естественных языков. |
| Accept-Ranges | Нет | Нет | Нет | Да | Нет | HTTP/1.1 | Перечень единиц измерения диапазонов. |
| Age | Нет | Нет | Нет | Да | Нет | HTTP/1.1 | Количество секунд с момента модификации ресурса. |
| Allow | Нет | Нет | Нет | Нет | Да | HTTP/1.0 | Список поддерживаемых методов. |
| Alternates | Нет | Нет | Нет | Да | Нет | HTTP/1.1 | Указание на альтернативные способы представления ресурса. |
| Authorization | Нет | Да | Нет | Нет | Нет | HTTP-Auth | Данные для авторизации. |
| Cache-Control | Да | Нет | Нет | Нет | Нет | HTTP/1.1 | Основные директивы для управления кэшированием. |
| Connection | Да | Нет | Нет | Нет | Нет | HTTP/1.1 | Сведения о проведении соединения. |
| Нет | Нет | Нет | Нет | HTTP/1.1 | Сведения о постоянном местонахождении ресурса. Убрано в HTTP/1.1v2. | ||
| Content-Disposition | Нет | Да | Да | Да | Да | CDH | Способ распределения сущностей в сообщении при передачи нескольких фрагментов. |
| Content-Encoding | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Способ кодирования содержимого сущности при передаче. |
| Content-Language | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Один или несколько естественных языков содержимого сущности. |
| Content-Length | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Размер содержимого сущности в байтах. |
| Content-Location | Нет | Нет | Да | Нет | Да | HTTP/1.1 | Альтернативное расположение содержимого сущности. |
| Content-MD5 | Нет | Нет | Да | Нет | Да | MD5H | MD5-хэш сущности для проверки целостности. |
| Content-Range | Нет | Нет | Да | Нет | Да | HTTP/1.1 | Байтовые диапазоны передаваемой сущности если возвращается фрагмент. Подробности: Частичные GET. |
| Content-Type | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Формат и способ представления сущности. |
| Content-Version | Нет | Нет | Да | Нет | Да | HTTP/1.1 | Информация о текущей версии сущности. |
| Date | Да | Нет | Нет | Нет | Нет | HTTP/1.0 | Дата генерации отклика. |
| Derived-From | Нет | Нет | Да | Нет | Да | HTTP/1.1 | Информация о текущей версии сущности. |
| ETag | Нет | Нет | Нет | Да | HTTP/1.1 | Тег (уникальный идентификатор) версии сущности, используемый при кэшировании. | |
| Expect | Нет | Да | Нет | Нет | Нет | HTTP/1.1v2 | Указывает серверу что клиент ожидает от него дополнительного действия. |
| Expires | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Дата предполагаемого истечения срока актуальности сущности. |
| From | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Адрес электронной почты ответственного лица со стороны клиента. |
| Host | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Доменное имя и порт хоста запрашиваемого ресурса. Необходимо для поддержки виртуального хостинга на серверах. |
| If-Match | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Список тегов версий сущности. Выполнять метод если они существуют. |
| If-Modified-Since | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Дата. Выполнять метод если сущность изменилась с указанного момента. |
| If-None-Match | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Список тегов версий сущности. Выполнять метод если ни одного из них не существует. |
| If-Range | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Список тегов версий сущности или дата для определённого фрагмента сущности. |
| If-Unmodified-Since | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Дата. Выполнять метод если сущность не изменилась с указанной даты. |
| Last-Modified | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Дата последней модификации сущности. |
| Link | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Указывает на логически связный с сущностью ресурс аналогично тегу <LINK> в HTML. |
| Location | Нет | Нет | Нет | Да | Нет | HTTP/1.0 | URI по которому клиенту следует перейти или URI созданного ресурса. |
| Max-Forwards | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Максимально допустимое количество переходов через прокси. |
| MIME-Version | Да | Нет | Нет | Нет | Нет | MIME | Версия протокола MIME по которому было сформировано сообщение. |
| Pragma | Да | Нет | Нет | Нет | Нет | HTTP/1.0 | Особенные опции выполнения операции. |
| Proxy-Authenticate | Нет | Нет | Нет | Да | Нет | HTTP-Auth | Параметры аутентификации на прокси-сервере. |
| Proxy-Authorization | Нет | Да | Нет | Нет | Нет | HTTP-Auth | Информация для авторизации на прокси-сервере. |
| Public | Нет | Нет | Нет | Да | Нет | HTTP/1.1 | Список доступных методов аналогично Allow, но для всего сервера. |
| Range | Нет | Да | Нет | Нет | Нет | HTTP/1.1 | Байтовые диапазоны для запроса фрагментов ресурса. Подробности: Частичные GET. |
| Referer | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | URI ресурса, после которого клиент сделал текущий запрос. |
| Retry-After | Нет | Нет | Нет | Да | Нет | HTTP/1.0 | Дата или время в секундах после которого можно повторить запрос. |
| Server | Нет | Нет | Нет | Да | Нет | HTTP/1.0 | Список названий и версий веб-сервера и его компонентов с комментариями. Для прокси-серверов поле Via. |
| Title | Нет | Нет | Да | Нет | Да | HTTP/1.0 | Заголовок сущности. |
| TE | Нет | Да | Нет | Нет | Нет | HTTP/1.1v2 | Список расширенных способов кодирования при передаче. |
| Trailer | Да | Нет | Нет | Нет | Нет | HTTP/1.1v2 | Список полей, имеющих отношение к кодированию сообщения при передаче. |
| Transfer-Encoding | Да | Нет | Нет | Нет | Нет | HTTP/1.1 | Список способов кодирования, которые были применены к сообщению для передачи. |
| Upgrade | Да | Нет | Нет | Нет | Нет | HTTP/1.1 | Список предлагаемых клиентом протоколов. Сервер указывает один протокол. |
| Нет | Нет | Нет | HTTP/1.0 | Список URI. В HTTP/1.1 заменено на Location, Content-Location, Vary и Link. | |||
| User-Agent | Нет | Да | Нет | Нет | Нет | HTTP/1.0 | Список названий и версий клиента и его компонентов с комментариями. |
| Vary | Нет | Нет | Нет | Да | Нет | HTTP/1.1 | Список описывающих ресурс полей из запроса, которые были приняты во внимание. |
| Via | Да | Нет | Нет | Нет | Нет | HTTP/1.1 | Список версий протокола, названий и версий прокси-серверов через которых прошло сообщение. |
| Warning | Да | Нет | Нет | Нет | HTTP/1.1 | Код, агент, сообщение и дата если возникла критическая ситуация. | |
| WWW-Authenticate | Нет | Нет | Нет | Да | Нет | HTTP-Auth | Параметры аутентификации для выполнения метода к указанному ресурсу. |
* Значения в колонке «Появление»:
- HTTP/1.0 — RFC 1945 («Hypertext Transfer Protocol — HTTP/1.0»).
- HTTP/1.1 — RFC 2068 («Hypertext Transfer Protocol — HTTP/1.1»).
- HTTP/1.1v2 — RFC 2616 («Hypertext Transfer Protocol — HTTP/1.1»).
- HTTP-Auth — RFC 2617 («HTTP Authentication: Basic and Digest Access Authentication»).
- MD5H — RFC 1965 («The Content-MD5 Header Field»).
- CDH — RFC 1806 («Communicating Presentation Information in Internet Messages: The Content-Disposition Header»).
- MIME — RFC 2045 («Multipurpose Internet Mail Extensions Part One: Format of Internet Message Bodies»).
Основные заголовки
Основные заголовки (англ. General Headers) являются основными для запросов клиента и ответов сервера. Большая часть из них являются обязательными.
Заголовки запроса
Заголовки запроса (англ. Request Headers) используются только в запросах клиента.
Заголовки ответа
Заголовки ответа (англ. Response Headers) включаются только в ответы сервера.
Allow
Список поддерживаемых методов всего сервера или конкретного ресурса. Посылается сервером вместе со статусами 405 и 501, а так же в ответе на метод OPTIONS.
Пример: Allow: GET, HEAD, OPTIONS
Referer
Полный или относительный URI ресурса с которого клиент сделал текущий запрос. Если указан относительный, то полный определяется по запрашиваемому URI. Клиенты не должны включать в значение Referer указатель фрагмента (часть URI после символа решетки «#»). Также нельзя включать ссылки на ресурсы не имеющие собственного URI (например, ввод адреса с клавиатуры).
Примеры:
Referer: http://www.example.com/— полный URI к корню сайта.Referer: http://www.example.org/send-message.php?to=support— пример с параметрами.Referer: /news/2007/08/23/— указание относительного URI.Referer: http://127.0.0.1/foo/bar-rules.html— такой вариант допустим.Referer: ftp://storage.example.com/archive/foo-notes.htm— переход не с HTTP-ресурса.
User-Agent
Указавает программное обеспечение клиента и его характеристики. Аналогичным ему является Server для серверов и Via для прокси.
Заголовки сущности
Заголовки сущности (англ. Entity Headers) — заголовки, сопровождающие каждую сущность как в запросах клиента, так и в ответах сервера. Тем не менее, наличие некоторых бессмыслено в заголовках запросов (например, Expires). В отдельный класс заголовки сущности выделены чтобы не путать их с заголовками запроса или заголовками ответа при передаче множественного содержимого (multipart/*). Заголовки запроса и ответа как и основные заголовки описывают всё сообщение в целом и размещаются только в начальном блоке заголовков, в то время как заголовки сущности характеризуют содержимое каждой части в отдельности располагаясь непосредственно перед её телом.
Content-Language
Указывает один или несколько естественных языков содержимого, для носителей которых оно предназначается. Языки перечисляются через запятую и порядок значения не имеет. Если данный заголовок опущен, то предполагается что содержимое предназначено для людей, понимающих любой язык (или же язык вообще значения не имеет). При этом возможно что человек не отыщет там информацию на понятном ему языке.
Обратите внимание, что в этом поле следует указывать не все используемые в документе языки, а только те, которые по вашему мнению, понимает конечный пользователь. Например, если это страница учебника по английскому языку для русскоговорящей аудитории, то указывать следует только русский язык, так как для англоговорящих людей она не нужна. А если это страница с сообщением об ошибке на двух языках, то указывать нужно оба.
В RFC сказано что язык содержимого можно указывать для любых медиа-типов, а не только для текста.
Например, если это видео, где люди говорят на английском, в котором сбоку расположено окошко с сурдопереводом на амслене, а внизу расположен перевод субтитрами на русском, то заголовок Content-Language должен иметь значение «en, ase, ru».
При этом если это видео где герои говорят на японском и присутствует голосовой перевод на русском, то следует указать только русский язык, так как японцам скорее всего будет трудно расслышать родную речь.
Заголовок Content-Language описан не только в основных спецификациях по протоколу HTTP, но и в отдельной RFC 3282 «Content Language Headers». Все названия языков регистрируются в IANA. Ссылку на их реестр вы найдёте в конце данной статьи.
См. также
- Заголовки HTTP — общая информация по заголовкам.
- Протокол HTTP.
- Список кодов состояния HTTP
- Заголовок User-Agent — отдельная статья.
- Заголовок Referer — отдельная статья.
- Cookie
Ссылки
Основные RFC по протоколу HTTP (по убыванию даты публикации):
- RFC 2616 Draft standard «Hypertext Transfer Protocol — HTTP/1.1» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.1»); IETF, июнь 1999; Fielding Roy (UC Irvine), Gettys Jim (Compaq/W3C), Mogul J. (Compaq), Frystyk Henrik (MIT/W3C), Masinter L. (Xerox), Leach P. (Microsoft), Berners-Lee Tim (W3C/MIT) — обновление протокола HTTP версии 1.1.
- RFC 2068 Proposed standard «Hypertext Transfer Protocol — HTTP/1.1» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.1»); IETF, январь 1997; Fielding Roy (UC Irvine), Gettys Jim (DEC), Mogul J. (DEC), Frystyk Henrik (MIT/LCS), Berners-Lee Tim (MIT/LCS) — ранняя спецификация по HTTP версии 1.1.
- RFC 1945 Informational «Hypertext Transfer Protocol — HTTP/1.0» (англ.) (русск. «Протокол передачи гипертекста — HTTP/1.0»); IETF, май 1996; Berners-Lee Tim (MIT/LCS), Fielding Roy (UC Irvine), Frystyk Henrik (MIT/LCS) — самая первая спецификация по протоколу HTTP. Так же включает в себя описание HTTP/0.9.
Материалы по натуральным языкам:
- RFC 3282 Draft standard «Content Language Headers» (англ.) (русск. «Заголовки языка содержимого»); IETF, июнь 2002; Alvestrand H. (Cisco Systems).
- RFC 5646 Best current practice «Tags for Identifying Languages» (англ.) (русск. «Метки для обозначения языков»); IETF, сентябрь 2009; Phillips A. (Lab126), Davis M. (Google).
- Language Subtag Registry (англ.). IANA (13 января 2010 г.). — реестр зарегистрированных языковых меток. Проверено 15 января 2010.
en:List of HTTP headers pl:Lista nagłówków HTTP th:รายชื่อส่วนหัวของเอชทีทีพี
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....