<<
>>

Заголовки сообщений

За строкой запроса (например, содержащей название метода йЕТ) могут следовать другие строки с дополнительной информацией. Они называются заголовками запросов. Эту информацию можно сравнить с параметрами, предоставляемыми при вызове процедуры.
В свою очередь, ответы могут содержать заголовки ответов. Некоторые заголовки могут встречаться и там, и там. Наиболее важные из них перечислены в табл. 7.14.
Таблица 7.14. Некоторые заголовки сообщений протокола HTTP

Заголовок User-Agent позволяет клиенту информировать сервер о версии своего браузера, операционной системы или предоставлять другую информацию о себе. В листинге 7.9 мы видели, что сервер каким-то волшебным образом получал эти данные и мог при необходимости использовать их в РНР-скрипте.

Как раз с помощью заголовка User-Agent клиент и сообщил серверу о себе.

Четыре заголовка, начинающиеся с Accept, сообщают серверу о типах информации, которые он готов принять (если их набор ограничен). Первый приведенный в таблице заголовок определяет типы MIME, которые будут корректно приняты клиентом (например, text/html). Заголовок Accept-Charset сообщает о том, какой набор символов клиент хотел бы видеть (например, ISO-8859 или Unicode-1-l). В заголовке Accept-Encoding речь идет о приемлемых методах сжатия (например, gzip). Наконец, Accept-Language сообщает, на каком языке клиент готов читать документы (например, на испанском). Если сервер имеет возможность выбирать из нескольких страниц, он подберет наиболее подходящий для клиента вариант в соответствии с полученной информацией.

Если запрос удовлетворить невозможно, возвращается код ошибки, и запрос считается не- удавшимся.

Заголовок Host описывает сервер. Его значение берется из URL. Этот заголовок обязателен. Почему? Потому что некоторые IP-адреса могут обслуживать несколько имен DNS одновременно, и серверу необходимо каким-то образом различать, кому передавать запрос.

Заголовок Authorization требуется в тех случаях, когда запрашивается защищенная страница. С его помощью клиент может подтвердить свои права на просмотр запрашиваемой страницы.

Несмотря на то, что cookie описываются в RFC 2109, а не в RFC 2616, для их описания существуют два заголовка. В частности, заголовок Cookie применяется клиентом при возвращении на сервер cookie-файла, который ранее был послан какой-либо машиной из домена сервера.

Заголовок Date может применяться как в запросах, так и в ответах. Он содержит время и дату отправки сообщения.

Заголовок Upgrade может использоваться для облегчения перехода на будущие (возможно, несовместимые с предыдущими) версии протокола HTTP. Он позволяет клиенту объявлять о поддерживаемых им протоколах, а серверу — объявлять о применяемых им протоколах.

А теперь мы подошли к заголовкам, которые может устанавливать только сервер при создании ответов на запросы. Первый из них, Server, позволяет серверу сообщать информацию о себе. При желании он может указать некоторые свои параметры.

Следующие четыре заголовка, начинающиеся с Content-, дают серверу возможность описать свойства посылаемой им страницы.

Заголовок Last-modified содержит дату и время внесения последних изменений в отправляемую страницу. Он играет важную роль при кэшировании страницы.

Заголовок Location вставляется сервером для информирования клиента о том, что стоит попробовать осуществить свой запрос повторно по другому URL. Такая ситуация может возникать при «переезде» страницы или тогда, когда несколько URL ссылаются на одну и ту же страницу (возможно, на «зеркало» страницы, расположенное на другом сервере). Этот трюк нередко применяется теми компаниями, главная веб-страница которых прописана в домене .сот, однако клиенты перенаправляются с нее на национальные или региональные страницы, имеющие свои IP-адреса или написанные на более приемлемом для клиента языке.

Если страница очень велика по размеру, клиент может не захотеть принимать ее сразу целиком. Некоторые серверы могут принимать запросы, ограничивающие размеры страниц, отсылаемых за один раз. Если страница оказывается слишком большой, она будет разбита на более мелкие единицы и выслана в несколько приемов. Заголовок Accept-Ranges сообщает о том, что сервер готов поддерживать такие запросы частей страниц.

Set-cookie — это второй заголовок, относящийся к cookie-маркерам. Если этот заголовок установлен сервером, предполагается, что, увидев его, клиент сохранит у себя cookie и вернет его вместе со следующим запросом на сервер.

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Заголовки сообщений:

  1. 2.1. Обстоятельные сообщения
  2. Правило приоритетностицели сообщения.
  3. 2.1. ОБСТОЯТЕЛЬНЫЕ СООБЩЕНИЯ
  4. Правило приоритетности цели сообщения.
  5. 8.2.1. Неискренние сообщения
  6. 8.11. Психологический анализ сообщений граждан
  7. Статья 913. Перевозка в прямом смешанном сообщении
  8. Информационное сообщение (видеосюжет)
  9. Информационное сообщение
  10. Активное восприятие невербальных сообщений.
  11. ПЕРЕДАЧА АНГЕЛЬСКИХ СООБЩЕНИЙ
  12. 1. Правоотношения по перевозке груза в прямом смешанном сообщении
  13. Статья 1105. Сообщение о неуплате чека
  14. 7.4.1. Помощь группы в получении сообщений
  15. 8.1.7. Неискренние сообщения
  16. 2.3.2. Поверхностные сообщения.