Полный-Запрос и Полный-Ответ может использоваться для передачи
некоторой информации в отдельных запросах и ответах. Этой
информацией является Содержание-Запроса или Содержание-Ответа
соответственно, а также Заголовок-Содержания.
Поля Заголовок-Содержания содержат необязательную метаинформацию
о Содержании-Запроса или Содержании-Ответа соответственно.
Если тело соответствующего сообщения (запроса или ответа)
не присутствует, то Заголовок-Содержания содержит информацию
о запрашиваемом ресурсе.
Некоторые из полей заголовка содержания описаны ниже.
Allow
Поле заголовка Allow представляет собой список методов,
которые поддерживает ресурс, идентифицированный URI-Запроса.
Назначение этого поля - точное информирование получателя о
допустимых методах, ассоциированных с ресурсом; это поле должно
присутствовать в ответе со статус кодом "405 Method Not Allowed".
Allow = "Allow" ":" 1#метод
Пример использования:
Allow: GET, HEAD, PUT
Конечно, клиент может попробовать использовать другие методы.
Однако, рекомендуется следовать тем методам, которые указаны
в данном поле. У этого поля нет значения по умолчанию; если
оно оставлено неопределенным, множество разрешенных методов
определяется сервером в момент каждого запроса.
Content-Length
Поле Content-Length указывает размер тела сообщения, посланного
сервером в ответ на запрос или, в случае запроса HEAD, размер
тела сообщения, которое было бы послано в ответ на запрос
GET.
Content-Length = "Content-Length" ":" 1*ЦИФРА
Например:
Content-Length: 3495
Хотя это не обязательно, но все же приложениям настоятельно
рекомендуется использовать это поле для анализа размеров передаваемого
сообщения, независимо от типа содержащейся в нем информации.
Для поля Content-Length допустимым является любое целочисленное
значение больше нуля.
Content-Type
Поле заголовка Content-Type идентифицирует тип информации
в теле сообщения, которая посылается получающей стороне или,
в случае метода HEAD, тип информации (среды), который был
бы послан, если использовался метод GET.
Content-Type = "Content-Type" ":" тип-среды
Типы сред определены отдельно.
Пример:
Content-Type: text/html; charset=ISO-8859-4
Поле Content-Type не имеет значения по умолчанию.
Last-Modified
Поле заголовка содержит дату и время, в которое, по мнению
отправляющей стороны, ресурс был последний раз модифицирован.
Семантика данного поля определена в терминах, описывающих,
как получатель должен его интерпретировать: если получатель
имеет копию ресурса, которая старше, чем передаваемая в поле
Last-Modified дата, то копия должна считаться устаревшей.
Last-Modified = "Last-Modified" ":" HTTP-дата
Пример использования:
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Точное значение этого поля заголовка зависит от реализации
отправляющей стороны и сути самого ресурса. Для файлов, это
может быть просто его время последней модификации. Для шлюзов
к базам данных, это может быть время последнего обновления
данных в базе. В любом случае, получатель должен беспокоиться
лишь о результате - о том, что находится в данном поле, -
и не беспокоиться о том, как результат был получен.
Тело сообщения
Под телом сообщения понимается Содержание-Запроса или Содержание-Ответа
соответственно. Тело сообщения, если оно присутствует, посылается
в HTTP/1.0 запросе или ответе в формате и кодировке, определяемыми
полями Заголовок-Содержания.
Тело-Сообщения = *OCTET (где OCTET это любой
8-битный символ)
Тело сообщения включается в запрос, только если метод запроса
подразумевает его наличие. Для спецификации HTTP/1.0 такими
методами являются POST и PUT. В общем, на присутствие тела
сообщения указывает присутствие таких полей заголовка содержания,
как Content-Length и/или Content- Transfer-Encoding, в передаваемом
запросе.
Что касается сообщений-ответов, наличие тела сообщения в
ответе зависит от метода, который был использован в запросе,
и Статус-Кода. Все ответы на запросы HEAD не должны содержать
тело сообщения, хотя наличие некоторых полей заголовка сообщения
может указывать на возможное присутствие такового. Соответственно,
ответы "204 No Content", "304 Not Modified", и "406 None Acceptable"
также не должны включать в себя тело сообщения.