Сообщения запросов и ответов МОГУТ передать объект, если иное не
установлено методом запроса или кодом состояния ответа. Объект
состоит из полей заголовка объекта (entity-header) и тела объекта
(entity-body), хотя некоторые ответы могут включать только
заголовки объекта (entity-headers).
Этот раздел относится как к отправителю, так и к получателю, то
есть к клиенту или серверу, в зависимости от того, кто посылает,
а кто получает объект.
7.1 Поля заголовка объекта.
Поля заголовка объекта (Entity-header fields) определяют
опциональную метаинформацию о теле объекта или, если тело не
присутствует, относительно ресурса, идентифицированного запросом.
entity-header = Allow ; Раздел 14.7
| Content-Base ; Раздел 14.11
| Content-Encoding ; Раздел 14.12
| Content-Language ; Раздел 14.13
| Content-Length ; Раздел 14.14
| Content-Location ; Раздел 14.15
| Content-MD5 ; Раздел 14.16
| Content-Range ; Раздел 14.17
| Content-Type ; Раздел 14.18
| ETag ; Раздел 14.20
| Expires ; Раздел 14.21
| Last-Modified ; Раздел 14.29
| extension-header
extension-header = message-header
Механизм расширения полей заголовка позволяет вводить
дополнительные поля заголовка объекта (entity-header fields) не
изменяя протокол, но эти поля не могут считаться распознаваемыми
получателем. Нераспознанные поля заголовка получателю СЛЕДУЕТ
игнорировать, а прокси-серверу пересылать без изменений.
7.2 Тело объекта.
Тело объекта (если оно присутствует) посылается с HTTP запросом
или ответом и имеет формат и кодирование, определяемое полями
заголовка объекта (entity-header fields). entity-body = *OCTET
Тело объекта (entity-body) представлено в сообщении только тогда,
когда присутствует тело сообщения (message-body), как описано в
разделе 4.3. Тело объекта (entity-body) получается из тела
сообщения (message-body), декодированием кодирования передачи,
указанного в поле Transfer-Encoding, и которое может быть
применено для гарантирования безопасной и правильной передачи сообщения.
7.2.1 Тип (Type).
Когда тело объекта (entity-body) включено в сообщение, тип данных
этого тела определяется полями заголовка Content-Type и
Content-Encoding. Они определяют двухуровневую упорядоченную
модель кодирования:
entity-body := Content-Encoding( Content-Type( data ) )
Тип содержимого (Content-Type) определяет медиа тип основных
данных. Кодирование содержимого (Content-Encoding) может
использоваться для указания любого дополнительного кодирования
содержимого, примененного к данным (обычно с целью сжатия данных).
Кодирование содержимого (Content-Encoding) является свойством
запрошенного ресурса. По умолчанию никакого кодирования не задано.
В любое HTTP/1.1 сообщение, содержащее тело объекта (entity-body)
СЛЕДУЕТ включать поле заголовка Content-Type, определяющее медиа
тип этого тела. В том и только в том случае, когда медиа тип не
представлен полем Content-Type, получатель МОЖЕТ попытаться
предположить медиа тип, проверяя содержимое и/или расширение
(расширения) в имени URL, используемого для идентификации ресурса.
Если медиа тип остался нераспознан, получателю СЛЕДУЕТ
обрабатывать его как тип "application/octet-stream".
7.2.2 Длина (Length).
Длина тела объекта (entity-body) - это длина тела сообщения
(message-body), полученного после декодирования всех кодирований
передачи. Раздел 4.4 определяет как вычисляется длина тела
сообщения (message-body).
|