назад | содержание | вперед

7 Объект (Entity).

Сообщения запросов и ответов МОГУТ передать объект, если иное не установлено методом запроса или кодом состояния ответа. Объект состоит из полей заголовка объекта (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).


Copyright  ©  1998 Alex Simonoff (http://www.omsk.com/Leshik/), All Rights Reserved.


назад | содержание | вперед