CGI-Содержание Запроса и Содержание Ответа
Общие Понятия
Полный-Запрос и
Полный-Ответ может использоваться
для передачи некоторой информации
в отдельных запросах и ответах.
Этой информацией является
Содержание-Запроса или
Содержание-Ответа соответственно,
а также Заголовок-Содержания.
Поля
Заголовок-Содержания
Поля
Заголовок-Содержания содержат
необязательную метаинформацию о
Содержании-Запроса или
Содержании-Ответа соответственно.
Если тело соответствующего
сообщения (запроса или ответа) не
присутствует, то
Заголовок-Содержания содержит
информацию о запрашиваемом
ресурсе.
Заголовок-Содержания = Allow |
Content-Encoding | Content-Language | Content-Length |
Content-Transfer-Encoding | Content-Type |Derived-From |
Expires | Last-Modified |Link |
Location | Title | URI-header | Version |
Заголовок-Расширения
Заголовок-Расширения
= HTTP-заголовок
Некоторые
из полей заголовка содержания
описаны ниже.
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" также не должны
включать в себя тело сообщения.