Полный-Запрос и Полный-Ответ может использоваться для передачи некоторой информации в отдельных запросах и ответах. Этой информацией является Содержание-Запроса или Содержание-Ответа соответственно, а также Заголовок-Содержания.
Поля Заголовок-Содержания содержат необязательную метаинформацию о Содержании-Запроса или
Содержании-Ответа соответственно. Если тело соответствующего сообщения (запроса или ответа) не
присутствует, то Заголовок-Содержания содержит информацию о запрашиваемом ресурсе.
Поле заголовка Allow представляет собой список методов, которые поддерживает ресурс,
идентифицированный URI-Запроса. Назначение этого поля - точное информирование получателя о
допустимых методах, ассоциированных с ресурсом; это поле должно присутствовать в ответе со статус кодом "405 Method Not Allowed".
Allow = "Allow" ":" 1#метод
Пример использования:
Allow: GET, HEAD, PUT
Конечно, клиент может попробовать использовать другие методы. Однако, рекомендуется следовать
тем методам, которые указаны в данном поле. У этого поля нет значения по умолчанию; если оно
оставлено неопределенным, множество разрешенных методов определяется сервером в момент каждого
запроса.
Поле Content-Length указывает размер тела сообщения, посланного сервером в ответ на запрос или, в
случае запроса HEAD, размер тела сообщения, которое было бы послано в ответ на запрос GET.
Content-Length = "Content-Length" ":" 1*ЦИФРА
Например:
Content-Length: 3495
Хотя это не обязательно, но все же приложениям настоятельно рекомендуется использовать это поле
для анализа размеров передаваемого сообщения, независимо от типа содержащейся в нем информации.
Для поля Content-Length допустимым является любое целочисленное значение больше нуля.
Поле заголовка Content-Type идентифицирует тип информации в теле сообщения, которая
посылается получающей стороне или, в случае метода HEAD, тип информации (среды), который был бы
послан, если использовался метод GET.
Content-Type = "Content-Type" ":" тип-среды
Типы сред определены отдельно.
Content-Type: text/html; charset=ISO-8859-4
Поле Content-Type не имеет значения по умолчанию.
Поле заголовка содержит дату и время, в которое, по мнению отправляющей стороны, ресурс был
последний раз модифицирован. Семантика данного поля определена в терминах, описывающих, как
получатель должен его интерпретировать: если получатель имеет копию ресурса, которая старше, чем
передаваемая в поле 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" также не должны включать в себя тело сообщения.
Заголовок-Содержания = Allow |
Content-Encoding | Content-Language | Content-Length |
Content-Transfer-Encoding | Content-Type |Derived-From |
Expires | Last-Modified |Link |
Location | Title | URI-header | Version | Заголовок-Расширения
Заголовок-Расширения = HTTP-заголовок
Пример: