Поля заголовка HTTP предоставляют необходимую информацию о запросе или ответе или об объекте, отправляемом в теле сообщения. Существует четыре типа заголовков HTTP-сообщений:
-
General-header: Эти поля заголовка имеют общую применимость как для сообщений запроса, так и для ответов.
-
Заголовок запроса клиента. Эти поля заголовка применимы только для сообщений запроса.
-
Заголовок ответа сервера. Эти поля заголовка применимы только для ответных сообщений.
-
Заголовок объекта : Эти поля заголовка определяют метаинформацию о теле объекта или, если тело отсутствует, о ресурсе, идентифицированном запросом.
General-header: Эти поля заголовка имеют общую применимость как для сообщений запроса, так и для ответов.
Заголовок запроса клиента. Эти поля заголовка применимы только для сообщений запроса.
Заголовок ответа сервера. Эти поля заголовка применимы только для ответных сообщений.
Заголовок объекта : Эти поля заголовка определяют метаинформацию о теле объекта или, если тело отсутствует, о ресурсе, идентифицированном запросом.
Общие заголовки
Cache-Control
Поле общего заголовка Cache-Control используется для указания директив, которым ДОЛЖНА подчиняться вся система кэширования. Синтаксис выглядит следующим образом:
Cache-Control : cache-request-directive|cache-response-directive
HTTP-клиент или сервер могут использовать общий заголовок Cache-control, чтобы указать параметры для кэша или запросить определенные виды документов из кэша. Директивы кэширования указываются в списке через запятую. Например:
Cache-control: no-cache
В следующей таблице перечислены важные директивы запроса кеша, которые клиент может использовать в своем HTTP-запросе:
SN | Директива и описание запроса кэша |
---|---|
1 | нет кэша
Кэш не должен использовать ответ для удовлетворения последующего запроса без успешной повторной проверки на исходном сервере. |
2 | нет-магазин
Кэш не должен хранить ничего о клиентском запросе или ответе сервера. |
3 | максимальный возраст = секунды
Указывает, что клиент готов принять ответ, возраст которого не превышает указанное время в секундах. |
4 | max-stale [= секунд]
Указывает, что клиент готов принять ответ, срок действия которого истек. Если даны секунды, срок их действия не должен превышать этого времени. |
5 | min-fresh = секунды
Указывает, что клиент готов принять ответ, время свежести которого не меньше его текущего возраста плюс указанное время в секундах. |
6 | нет-преобразования
Не конвертирует сущность-тело. |
7 | только-если-кэшированные
Не извлекает новые данные. Кеш может отправлять документ, только если он находится в кеше, и не должен связываться с origin-сервером, чтобы узнать, существует ли более новая копия. |
Кэш не должен использовать ответ для удовлетворения последующего запроса без успешной повторной проверки на исходном сервере.
Кэш не должен хранить ничего о клиентском запросе или ответе сервера.
Указывает, что клиент готов принять ответ, возраст которого не превышает указанное время в секундах.
Указывает, что клиент готов принять ответ, срок действия которого истек. Если даны секунды, срок их действия не должен превышать этого времени.
Указывает, что клиент готов принять ответ, время свежести которого не меньше его текущего возраста плюс указанное время в секундах.
Не конвертирует сущность-тело.
Не извлекает новые данные. Кеш может отправлять документ, только если он находится в кеше, и не должен связываться с origin-сервером, чтобы узнать, существует ли более новая копия.
Следующие важные директивы ответа кеша, которые могут использоваться сервером в его HTTP-ответе:
SN | Директива и описание ответа кэша |
---|---|
1 | общественности
Указывает, что ответ может быть кэширован любым кешем. |
2 | частный
Указывает, что все или часть ответного сообщения предназначены для одного пользователя и не должны кэшироваться общим кэшем. |
3 | нет кэша
Кэш не должен использовать ответ для удовлетворения последующего запроса без успешной повторной проверки на исходном сервере. |
4 | нет-магазин
Кэш не должен хранить ничего о клиентском запросе или ответе сервера. |
5 | нет-преобразования
Не конвертирует сущность-тело. |
6 | обязательно перепроверить
Кэш должен проверять состояние устаревших документов перед его использованием, а просроченные не должны использоваться. |
7 | прокси-REVALIDATE
Директива proxy-revalidate имеет то же значение, что и директива must-revalidate, за исключением того, что она не применяется к кэшам пользовательских агентов, которые не используются совместно. |
8 | максимальный возраст = секунды
Указывает, что клиент готов принять ответ, возраст которого не превышает указанное время в секундах. |
9 | s-maxage = секунды
Максимальный возраст, указанный в этой директиве, переопределяет максимальный возраст, указанный в директиве max-age или в заголовке Expires. Директива s-maxage всегда игнорируется частным кешем. |
Указывает, что ответ может быть кэширован любым кешем.
Указывает, что все или часть ответного сообщения предназначены для одного пользователя и не должны кэшироваться общим кэшем.
Кэш не должен использовать ответ для удовлетворения последующего запроса без успешной повторной проверки на исходном сервере.
Кэш не должен хранить ничего о клиентском запросе или ответе сервера.
Не конвертирует сущность-тело.
Кэш должен проверять состояние устаревших документов перед его использованием, а просроченные не должны использоваться.
Директива proxy-revalidate имеет то же значение, что и директива must-revalidate, за исключением того, что она не применяется к кэшам пользовательских агентов, которые не используются совместно.
Указывает, что клиент готов принять ответ, возраст которого не превышает указанное время в секундах.
Максимальный возраст, указанный в этой директиве, переопределяет максимальный возраст, указанный в директиве max-age или в заголовке Expires. Директива s-maxage всегда игнорируется частным кешем.
соединение
Поле общего заголовка соединения позволяет отправителю указывать параметры, которые требуются для этого конкретного соединения и не должны передаваться прокси-серверами по дальнейшим соединениям. Ниже приведен простой синтаксис использования заголовка соединения:
Connection : "Connection"
HTTP / 1.1 определяет опцию «закрыть» соединение для отправителя, чтобы сигнализировать, что соединение будет закрыто после завершения ответа. Например:
Connection: close
По умолчанию HTTP 1.1 использует постоянные соединения, где соединение не закрывается автоматически после транзакции. HTTP 1.0, с другой стороны, не имеет постоянных соединений по умолчанию. Если клиент 1.0 хочет использовать постоянные соединения, он использует параметр keep-alive следующим образом:
Connection: keep-alive
Дата
Все HTTP-метки даты / времени ДОЛЖНЫ быть представлены в среднем времени по Гринвичу (GMT) без исключения. Приложениям HTTP разрешается использовать любое из следующих трех представлений меток даты / времени:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
Здесь первый формат является наиболее предпочтительным.
Pragma
Поле общего заголовка Pragma используется для включения директив, специфичных для реализации, которые могут применяться к любому получателю в цепочке запросов / ответов. Например:
Pragma: no-cache
Единственная директива, определенная в HTTP / 1.0, является директивой no-cache и поддерживается в HTTP 1.1 для обратной совместимости. Никакие новые директивы Прагмы не будут определены в будущем.
трейлер
Значение общего поля трейлера указывает, что данный набор полей заголовка присутствует в трейлере сообщения, закодированного с помощью чанкованного кодирования передачи. Ниже приведен синтаксис поля заголовка трейлера:
Trailer : field-name
Поля заголовка сообщения, перечисленные в поле заголовка трейлера, не должны содержать следующие поля заголовка:
-
Transfer-Encoding
-
Content-Length
-
трейлер
Transfer-Encoding
Content-Length
трейлер
Transfer-Encoding
Поле общего заголовка Transfer-Encoding указывает, какой тип преобразования был применен к телу сообщения для безопасной передачи его между отправителем и получателем. Это не то же самое, что кодирование контента, потому что кодировки передачи являются свойством сообщения, а не тела объекта. Синтаксис поля заголовка Transfer-Encoding выглядит следующим образом:
Transfer-Encoding: chunked
Все значения кодирования передачи нечувствительны к регистру.
Обновить
Общий заголовок Upgrade позволяет клиенту указать, какие дополнительные коммуникационные протоколы он поддерживает и хотел бы использовать, если сервер посчитает целесообразным переключать протоколы. Например:
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Поле заголовка Upgrade предназначено для обеспечения простого механизма перехода от HTTP / 1.1 к другому несовместимому протоколу.
С помощью
Общий заголовок Via должен использоваться шлюзами и прокси-серверами для указания промежуточных протоколов и получателей. Например, сообщение с запросом может быть отправлено от пользовательского агента HTTP / 1.0 внутреннему прокси-серверу с кодовым названием «fred», который использует HTTP / 1.1 для пересылки запроса общедоступному прокси-серверу по адресу nowhere.com, который завершает запрос переадресация на исходный сервер по адресу www.ics.uci.edu. Запрос, полученный www.ics.uci.edu, будет иметь следующее поле заголовка Via:
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Поле заголовка Upgrade предназначено для обеспечения простого механизма перехода от HTTP / 1.1 к другому несовместимому протоколу.
Предупреждение
Общий заголовок Warning используется для переноса дополнительной информации о состоянии или преобразовании сообщения, которая может не отражаться в сообщении. Ответ может содержать более одного заголовка предупреждения.
Warning : warn-code SP warn-agent SP warn-text SP warn-date
Заголовки клиентских запросов
принимать
Поле заголовка запроса Accept может использоваться для указания определенных типов мультимедиа, которые являются приемлемыми для ответа. Общий синтаксис выглядит следующим образом:
Accept: type/subtype [q=qvalue]
Несколько типов носителей могут быть перечислены через запятую, а необязательное qvalue представляет приемлемый уровень качества для принимаемых типов в масштабе от 0 до 1. Ниже приведен пример:
Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c
Это будет интерпретироваться как text / html и text / xc и являются предпочтительными типами мультимедиа, но если они не существуют, отправьте сущность text / x-dvi , а если ее не существует, отправьте сущность text / plain .
Accept-Charset
Поле заголовка запроса Accept-Charset может использоваться, чтобы указать, какие наборы символов приемлемы для ответа. Ниже приводится общий синтаксис:
Accept-Charset: character_set [q=qvalue]
Несколько наборов символов могут быть перечислены через запятую, а необязательное значение qvalue представляет приемлемый уровень качества для неподтвержденных наборов символов по шкале от 0 до 1. Ниже приведен пример:
Accept-Charset: iso-8859-5, unicode-1-1; q=0.8
Специальное значение «*», если оно присутствует в поле « Accept-Charset» , соответствует каждому набору символов, а если заголовок « Accept-Charset» отсутствует, по умолчанию считается, что любой набор символов приемлем.
Accept-Encoding
Поле заголовка запроса Accept-Encoding аналогично Accept, но ограничивает кодировки содержимого, которые являются приемлемыми в ответе. Общий синтаксис:
Accept-Encoding: encoding types
Примеры следующие:
Accept-Encoding: compress, gzip Accept-Encoding: Accept-Encoding: * Accept-Encoding: compress;q=0.5, gzip;q=1.0 Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0
Accept-Language
Поле заголовка запроса Accept-Language аналогично Accept, но ограничивает набор естественных языков, предпочитаемых в качестве ответа на запрос. Общий синтаксис:
Accept-Language: language [q=qvalue]
Несколько языков могут быть перечислены через запятую, а необязательное qvalue представляет приемлемый уровень качества для не предпочтительных языков в масштабе от 0 до 1. Ниже приведен пример:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
авторизация
Значение поля заголовка запроса авторизации состоит из учетных данных, содержащих информацию об аутентификации агента пользователя для области запрашиваемого ресурса. Общий синтаксис:
Authorization : credentials
Спецификация HTTP / 1.0 определяет схему авторизации BASIC, где параметром авторизации является строка имени пользователя: пароль, закодированный в базе 64. Ниже приведен пример:
Authorization: BASIC Z3Vlc3Q6Z3Vlc3QxMjM=
Значение декодируется в: guest: guest123, где guest — это идентификатор пользователя, а guest123 — пароль.
печенье
Значение поля заголовка запроса Cookie содержит пару имя / значение информации, хранящейся для этого URL. Ниже приводится общий синтаксис:
Cookie: name=value
Несколько файлов cookie можно указать через точку с запятой следующим образом:
Cookie: name1=value1;name2=value2;name3=value3
ожидать
Поле заголовка запроса Expect используется для указания того, что клиент требует определенного набора поведений сервера. Общий синтаксис:
Expect : 100-continue | expectation-extension
Если сервер получает запрос, содержащий поле Expect, которое включает расширение ожидания, которое он не поддерживает, он должен ответить со статусом 417 (Expectation Failed).
От
Поле заголовка запроса From содержит адрес электронной почты в Интернете для пользователя-пользователя, который управляет запрашивающим пользовательским агентом. Ниже приведен простой пример:
From: [email protected]
Это поле заголовка может использоваться для целей регистрации и в качестве средства для определения источника недопустимых или нежелательных запросов.
хозяин
Поле заголовка запроса узла используется для указания узла Интернета и номера порта запрашиваемого ресурса. Общий синтаксис:
Host : "Host" ":" host [ ":" port ] ;
Хост без информации о конце порта подразумевает порт по умолчанию, который равен 80. Например, запрос на исходном сервере для http://www.w3.org/pub/WWW/ будет:
GET /pub/WWW/ HTTP/1.1 Host: www.w3.org
If-Match
Поле заголовка запроса If-Match используется с методом, чтобы сделать его условным. Этот заголовок запрашивает у сервера выполнение запрошенного метода, только если указанное значение в этом теге соответствует заданным тегам объекта, представленным ETag . Общий синтаксис:
If-Match : entity-tag
Звездочка (*) соответствует любому объекту, и транзакция продолжается, только если объект существует. Ниже приведены возможные примеры:
If-Match: "xyzzy" If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" If-Match: *
Если ни один из тегов объекта не совпадает или если задано «*», а текущий объект не существует, сервер не должен выполнять запрошенный метод и должен возвращать ответ 412 (Precondition Failed).
If-Modified-Since
Поле заголовка запроса If-Modified-Since используется с методом, чтобы сделать его условным. Если запрошенный URL не был изменен со времени, указанного в этом поле, объект не будет возвращен с сервера; вместо этого ответ 304 (не измененный) будет возвращен без какого-либо тела сообщения. Общий синтаксис if-Modified-Since:
If-Modified-Since : HTTP-date
Пример поля:
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Если ни один из тегов объекта не совпадает или если задано «*», а текущий объект не существует, сервер не должен выполнять запрошенный метод и должен возвращать ответ 412 (Precondition Failed).
If-None-Match
Поле заголовка запроса If-None-Match используется с методом, чтобы сделать его условным. Этот заголовок запрашивает у сервера выполнение запрошенного метода, только если одно из заданных значений в этом теге соответствует заданным тегам сущности, представленным ETag . Общий синтаксис:
If-None-Match : entity-tag
Звездочка (*) соответствует любому объекту, и транзакция продолжается, только если объект не существует. Ниже приведены возможные примеры:
If-None-Match: "xyzzy" If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz" If-None-Match: *
If-Range
Поле заголовка запроса If-Range можно использовать с условным GET для запроса только той части объекта, которая отсутствует, если она не была изменена, и всей сущности, если она была изменена. Общий синтаксис выглядит следующим образом:
If-Range : entity-tag | HTTP-date
Для идентификации уже полученной частичной сущности можно использовать либо тег объекта, либо дату. Например:
If-Range: Sat, 29 Oct 1994 19:43:31 GMT
Здесь, если документ не был изменен с указанной даты, сервер возвращает диапазон байтов, заданный заголовком Range, в противном случае он возвращает весь новый документ.
Если-Unmodified-С
Поле заголовка запроса If-Unmodified-Since используется с методом, чтобы сделать его условным. Общий синтаксис:
If-Unmodified-Since : HTTP-date
Если запрошенный ресурс не был изменен со времени, указанного в этом поле, сервер должен выполнить запрошенную операцию, как если бы заголовок If-Unmodified-Since отсутствовал. Например:
If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Если запрос приводит к чему-либо отличному от статуса 2xx или 412, заголовок If-Unmodified-Since следует игнорировать.
Max-Нападающие
Поле заголовка запроса Max-Forwards предоставляет механизм с методами TRACE и OPTIONS для ограничения количества прокси или шлюзов, которые могут переслать запрос на следующий входящий сервер. Вот общий синтаксис:
Max-Forwards : n
Значение Max-Forwards представляет собой десятичное целое число, указывающее оставшееся количество раз, когда это сообщение запроса может быть переслано. Это полезно для отладки с помощью метода TRACE, позволяющего избежать бесконечных циклов. Например:
Max-Forwards : 5
Поле заголовка Max-Forwards может игнорироваться для всех других методов, определенных в спецификации HTTP.
Proxy-Authorization
Поле заголовка запроса Proxy-Authorization позволяет клиенту идентифицировать себя (или своего пользователя) для прокси, который требует аутентификации. Вот общий синтаксис:
Proxy-Authorization : credentials
Значение поля Proxy-Authorization состоит из учетных данных, содержащих информацию об аутентификации агента пользователя для прокси и / или области запрашиваемого ресурса.
Спектр
Поле заголовка запроса Range указывает частичный диапазон (ы) содержимого, запрошенного в документе. Общий синтаксис:
Range: bytes-unit=first-byte-pos "-" [last-byte-pos]
Значение first-byte-pos в спецификации byte-range-специфицирует смещение байта первого байта в диапазоне. Значение last-byte-pos дает смещение байта последнего байта в диапазоне; то есть указанные байтовые позиции включительно. Вы можете указать байтовую единицу как байты. Смещения байтов начинаются с нуля. Вот несколько простых примеров:
- The first 500 bytes Range: bytes=0-499 - The second 500 bytes Range: bytes=500-999 - The final 500 bytes Range: bytes=-500 - The first and last bytes only Range: bytes=0-0,-1
Можно указать несколько диапазонов, разделенных запятыми. Если первая цифра в диапазоне (-ах) байтов, разделенных запятыми, отсутствует, предполагается, что этот диапазон отсчитывается с конца документа. Если вторая цифра отсутствует, диапазон составляет байт n до конца документа.
Referer
Поле заголовка запроса Referer позволяет клиенту указать адрес (URI) ресурса, с которого был запрошен URL-адрес. Общий синтаксис выглядит следующим образом:
Referer : absoluteURI | relativeURI
Ниже приведен простой пример:
Referer: http://www.tutorialspoint.org/http/index.htm
Если значение поля является относительным URI, его следует интерпретировать относительно Request-URI .
TE
Поле заголовка запроса TE указывает, какое расширение -кодирование передачи оно желает принять в ответе, и желает ли оно принять поля трейлера в разделенном кодировании-переносе . Ниже приводится общий синтаксис:
TE : t-codings
Наличие ключевого слова «трейлеры» указывает на то, что клиент готов принять поля трейлера в виде фрагментированной кодировки передачи, и это указывается одним из способов:
TE: deflate TE: TE: trailers, deflate;q=0.5
Если значение поля TE пусто или поле TE отсутствует, то используется только кодирование передачи. Сообщение без кодировки передачи всегда приемлемо.
User-Agent
Поле заголовка запроса User-Agent содержит информацию о пользовательском агенте, создавшем запрос. Ниже приводится общий синтаксис:
User-Agent : product | comment
Пример:
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Заголовки ответа сервера
Accept-Ranges
Поле заголовка ответа Accept-Ranges позволяет серверу указать, что он принимает запросы диапазона для ресурса. Общий синтаксис:
Accept-Ranges : range-unit | none
Например, сервер, который принимает запросы диапазона байтов, может отправить:
Accept-Ranges: bytes
Серверы, которые не принимают какой-либо запрос диапазона для ресурса, могут отправлять:
Accept-Ranges: none
Это посоветует клиенту не пытаться запросить диапазон.
Возраст
Поле заголовка ответа Age передает оценку отправителя количества времени, прошедшего с того момента, как ответ (или его повторная проверка) был сгенерирован на исходном сервере. Общий синтаксис:
Age : delta-seconds
Возрастные значения — неотрицательные десятичные целые числа, представляющие время в секундах. Ниже приведен простой пример:
Age: 1030
Сервер HTTP / 1.1, который включает кэш, должен включать поле заголовка Age в каждом ответе, сгенерированном из его собственного кэша.
ETag
Поле заголовка ответа ETag предоставляет текущее значение тега объекта для запрошенного варианта. Общий синтаксис:
ETag : entity-tag
Вот несколько простых примеров:
ETag: "xyzzy" ETag: W/"xyzzy" ETag: ""
Место нахождения
Поле заголовка ответа Location используется для перенаправления получателя в местоположение, отличное от Request-URI для завершения. Общий синтаксис:
Location : absoluteURI
Ниже приведен простой пример:
Location: http://www.tutorialspoint.org/http/index.htm
Поле заголовка Content-Location отличается от Location тем, что Content-Location идентифицирует исходное местоположение объекта, заключенного в запросе.
Proxy-Authenticate
Поле заголовка ответа Proxy-Authenticate должно быть включено как часть ответа 407 (Proxy Authentication Required). Общий синтаксис:
Proxy-Authenticate : challenge
Retry-After
Поле заголовка ответа Retry-After может использоваться с ответом 503 (Служба недоступна), чтобы указать, как долго ожидается, что служба будет недоступна для запрашивающего клиента. Общий синтаксис:
Retry-After : HTTP-date | delta-seconds
Примеры:
Retry-After: Fri, 31 Dec 1999 23:59:59 GMT Retry-After: 120
В последнем примере задержка составляет 2 минуты.
сервер
Поле заголовка ответа сервера содержит информацию о программном обеспечении, используемом исходным сервером для обработки запроса. Общий синтаксис:
Server : product | comment
Ниже приведен простой пример:
Server: Apache/2.2.14 (Win32)
Если ответ пересылается через прокси, приложение прокси не должно изменять заголовок ответа Сервера.
Set-Cookie
Поле заголовка ответа Set-Cookie содержит пару имя / значение информации, которую нужно сохранить для этого URL. Общий синтаксис:
Set-Cookie: NAME=VALUE; OPTIONS
Заголовок ответа Set-Cookie содержит токен Set-Cookie, за которым следует разделенный запятыми список из одного или нескольких файлов cookie. Вот возможные значения, которые вы можете указать в качестве параметров:
SN | Варианты и описание |
---|---|
1 | Комментарий = комментарий
Эта опция может использоваться для указания любого комментария, связанного с cookie. |
2 | Домен = домен
Атрибут Домен указывает домен, для которого действителен файл cookie. |
3 | Истекает = Дата-время
Дата истечения срока действия cookie. Если он пуст, срок действия файла cookie истечет, когда посетитель выйдет из браузера. |
4 | Path = путь
Атрибут Path указывает подмножество URL-адресов, к которым применяется этот файл cookie. |
5 | Безопасный
Он дает указание агенту пользователя возвращать cookie только при безопасном соединении. |
Эта опция может использоваться для указания любого комментария, связанного с cookie.
Атрибут Домен указывает домен, для которого действителен файл cookie.
Дата истечения срока действия cookie. Если он пуст, срок действия файла cookie истечет, когда посетитель выйдет из браузера.
Атрибут Path указывает подмножество URL-адресов, к которым применяется этот файл cookie.
Он дает указание агенту пользователя возвращать cookie только при безопасном соединении.
Ниже приведен пример простого заголовка cookie, сгенерированного сервером:
Set-Cookie: name1=value1,name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
изменяться
Поле заголовка ответа Vary указывает, что объект имеет несколько источников и, следовательно, может варьироваться в соответствии с указанным списком заголовков заголовка запроса. Ниже приводится общий синтаксис:
Vary : field-name
Можно указать несколько заголовков, разделенных запятыми, и значение звездочки «*» означает, что неопределенные параметры не ограничены заголовками запроса. Ниже приведен простой пример:
Vary: Accept-Language, Accept-Encoding
Здесь имена полей нечувствительны к регистру.
WWW-Authenticate
Поле заголовка ответа WWW-Authenticate должно быть включено в ответные сообщения 401 (неавторизованный). Значение поля состоит по меньшей мере из одного запроса, который указывает схему (ы) аутентификации и параметры, применимые к Request-URI. Общий синтаксис:
WWW-Authenticate : challenge
Значение поля WWW-Authenticate может содержать более одного запроса, или, если предусмотрено более одного поля заголовка WWW-Authenticate, содержимое самого запроса может содержать разделенный запятыми список параметров аутентификации. Ниже приведен простой пример:
WWW-Authenticate: BASIC realm="Admin"
Заголовки сущностей
Разрешать
Поле « Разрешить заголовок объекта» содержит список методов, поддерживаемых ресурсом, идентифицированным Request-URI. Общий синтаксис:
Allow : Method
Вы можете указать несколько методов, разделенных запятыми. Ниже приведен простой пример:
Allow: GET, HEAD, PUT
Это поле не может помешать клиенту попробовать другие методы.
Content-Encoding
Поле заголовка объекта Content-Encoding используется в качестве модификатора для медиа-типа. Общий синтаксис:
Content-Encoding : content-coding
Контент-кодирование является характеристикой объекта, идентифицируемого Request-URI. Ниже приведен простой пример:
Content-Encoding: gzip
Если кодирование содержимого объекта в сообщении запроса неприемлемо для исходного сервера, сервер должен ответить кодом состояния 415 (Unsupported Media Type).
Content-Language
Поле заголовка объекта Content-Language описывает естественный язык (и) предполагаемой аудитории для вложенного объекта. Ниже приводится общий синтаксис:
Content-Language : language-tag
Для контента, предназначенного для нескольких аудиторий, могут быть указаны несколько языков. Ниже приведен простой пример:
Content-Language: mi, en
Основной целью Content-Language является предоставление пользователю возможности идентифицировать и дифференцировать объекты в соответствии с предпочтительным языком пользователя.
Content-Length
Поле заголовка объекта Content-Length указывает размер тела объекта в десятичном числе OCTET, отправленных получателю, или, в случае метода HEAD, размер тела объекта, который был бы отправлен, если бы запрос был ПОЛУЧЕН. Общий синтаксис:
Content-Length : DIGITS
Ниже приведен простой пример:
Content-Length: 3495
Любое значение Content-Length больше или равно нулю является допустимым значением.
Content-Location
Поле заголовка объекта Content-Location может использоваться для предоставления местоположения ресурса для объекта, заключенного в сообщении, когда этот объект доступен из местоположения, отдельного от URI запрашиваемого ресурса. Общий синтаксис:
Content-Location: absoluteURI | relativeURI
Ниже приведен простой пример:
Content-Location: http://www.tutorialspoint.org/http/index.htm
Значение Content-Location также определяет базовый URI для объекта.
Content-MD5
Поле заголовка объекта Content-MD5 может использоваться для предоставления дайджеста MD5 объекта для проверки целостности сообщения при получении. Общий синтаксис:
Content-MD5 : md5-digest using base64 of 128 bit MD5 digest as per RFC 1864
Ниже приведен простой пример:
Content-MD5 : 8c2d46911f3f5a326455f0ed7a8ed3b3
Дайджест MD5 вычисляется на основе содержимого тела объекта, включая любое примененное кодирование содержимого, но не включая любое кодирование передачи, применяемое к телу сообщения.
Content-Range
Поле заголовка объекта Content-Range отправляется с частичным телом объекта, чтобы указать, где в полном теле объекта следует применять частичное тело. Общий синтаксис:
Content-Range : bytes-unit SP first-byte-pos "-" last-byte-pos
Примеры значений byte-content-range-spec, при условии, что объект содержит в общей сложности 1234 байта:
- The first 500 bytes: Content-Range : bytes 0-499/1234 - The second 500 bytes: Content-Range : bytes 500-999/1234 - All except for the first 500 bytes: Content-Range : bytes 500-1233/1234 - The last 500 bytes: Content-Range : bytes 734-1233/1234
Когда HTTP-сообщение включает в себя содержимое одного диапазона, это содержимое передается с заголовком Content-Range и заголовком Content-Length, показывающим количество фактически переданных байтов. Например,
HTTP/1.1 206 Partial content Date: Wed, 15 Nov 1995 06:25:24 GMT Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT Content-Range: bytes 21010-47021/47022 Content-Length: 26012 Content-Type: image/gif
Тип содержимого
Поле заголовка объекта Content-Type указывает тип мультимедиа тела объекта, отправляемого получателю, или, в случае метода HEAD, тип мультимедиа, который был бы отправлен, если бы запрос был GET. Общий синтаксис:
Content-Type : media-type
Ниже приведен пример:
Content-Type: text/html; charset=ISO-8859-4
Истекает
Поле заголовка объекта Expires содержит дату / время, после которого ответ считается устаревшим. Общий синтаксис:
Expires : HTTP-date
Ниже приведен пример:
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Последнее изменение
Поле заголовка объекта Last-Modified указывает дату и время, когда исходный сервер полагает, что вариант был последний раз изменен. Общий синтаксис:
Last-Modified: HTTP-date
Ниже приведен пример: