Полный-Запрос и Полный-Ответ
может использоваться для передачи
некоторой информации в отдельных
запросах и ответах. Этой
информацией является
Содержание-Запроса или
Содержание-Ответа соответственно,
а также Заголовок-Содержания.
Поля Заголовок-Содержания
содержат необязательную
метаинформацию о
Содержании-Запроса или
Содержании-Ответа соответственно.
Если тело соответствующего
сообщения (запроса или ответа) не
присутствует, то
Заголовок-Содержания содержит
информацию о запрашиваемом
ресурсе.
Некоторые из полей заголовка
содержания описаны ниже.
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" также не должны
включать в себя тело сообщения.