Протокол HTTP 1.1
Категория реферата: Рефераты по коммуникации и связи
Теги реферата: мировая экономика, bestreferat
Добавил(а) на сайт: Jakimenko.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата
3.6 Кодирования передачи (Transfer Codings).
Значения кодирования передачи используются для указания преобразования кодирования, которое было или должно быть применено к телу объекта (entity- body) в целях гарантирования "безопасной передачи" по сети. Оно отличается от кодирования содержимого тем, что кодирование передачи - это свойство сообщения, а не первоначального объекта.
transfer-coding = "chunked" | transfer-extension
transfer-extension = token
Все значения кодирования передачи (transfer-coding) не чувствительны к регистру. HTTP/1.1 использует значения кодирования передачи (transfer- coding) в поле заголовка Transfer-Encoding.
Кодирования передачи - это аналоги значений Content-Transfer-Encoding
MIME, которые были разработаны для обеспечения безопасной передачи двоичных
данных при использовании 7-битного обслуживания передачи. Однако безопасный
транспорт имеет другое предназначение для чисто 8-битного протокола
передачи. В HTTP единственная опасная характеристика тела сообщения вызвана
сложностью определения точной длины тела сообщения, или желанием шифровать
данные при пользовании общедоступным транспортом.
Кодирование по кускам (chunked encoding) изменяет тело сообщения для передачи его последовательностью кусков, каждый из которых имеет собственный индикатор размера, сопровождаемым опциональным завершителем, содержащим поля заголовка объекта. Это позволяет динамически создаваемому содержимому передаваться вместе с информацией, необходимой получателю для проверки полноты получения сообщения.
Chunked-Body = *chunk "0" CRLF footer CRLF
chunk = chunk-size [ chunk-ext ] CRLF chunk-data CRLF
hex-no-zero =
chunk-size = hex-no-zero *HEX chunk-ext = *( ";" chunk-ext-name [ "=" chunk-ext-value ]) chunk-ext-name = token chunk-ext-val = token | quoted-string chunk-data = chunk-size(OCTET)
footer = *entity-header
Кодирование по кускам (chunked encoding) оканчивается куском нулевого размера, следующим за завершителем, оканчивающимся пустой строкой. Цель завершителя состоит в эффективном методе обеспечения информации об объекте, который сгенерирован динамически; приложения не должны посылать в завершителе поля заголовка, которые явно не предназначены для использования в завершителе, такие как Content-MD5 или будущие расширения HTTP для цифровых подписей и других возможностей.
Все HTTP/1.1 приложения должны быть в состоянии получать и декодировать кодирование передачи "по кускам" ("chunked" transfer coding), и должны игнорировать расширения кодирования передачи, которые они не понимают. Серверу, который получил тело объекта со значением кодирования передачи, которое он не понимает, следует возвратить ответ с кодом 501 (Не реализовано, Not Implemented) и разорвать соединение. Сервер не должен посылать поля кодирования передачи (transfer-coding) HTTP/1.0 клиентам.
3.7 Медиатипы (Media Types).
HTTP использует МедиаТипы Интернета (Internet Media Types) в полях заголовка Content-Type и Accept для обеспечения открытой и расширяемой типизации данных и типов.
media-type = type "/" subtype *( ";" parameter ) type = token subtype
= token
Параметры могут следовать за type/subtype в форме пар атрибут/значение
(attribute/value).
parameter = attribute "=" value attribute = token value = token | quoted-string
Тип, подтип, и имена атрибутов и параметров не чувствительны к
регистру. Значения параметров могут быть чувствительными к регистру, но
могут быть и не чувствительны, в зависимости от семантики имени параметра.
Линейный пробел (LWS) не должен использоваться между типом и подтипом, между атрибутом и значением. Агенты пользователей, распознающие медиатипы, должны обрабатывать (или подготавливать для обработки любыми внешними
приложениями) параметры для тех типов MIME, которые описаны, и сообщать
пользователю об обнаруженных проблемах.
Некоторые старые HTTP приложения не распознают параметры медиатипов.
При посылке данных к таким HTTP приложениям реализации должны использовать
параметры медиатипов только тогда, когда это требуется по определению
типа/подтипа.
Значения медиатипов регистрируются Internet Assigned Number Authority
(IANA). Процесс регистрации медиатипа определен в RFC 2048. Использование
не зарегистрированных медиатипов запрещено.
3.7.1 Канонизация и предопределенные значения типа text.
Медиатипы Интернет зарегистрированы в канонической форме. В общем случае тело объекта, передаваемое HTTP сообщением, должно быть представлено в соответствующей каноническиой форме до передачи; исключение составляют типы "text", определяемые в следующем абзаце.
Рекомендуем скачать другие рефераты по теме: бесплатные рефераты, изложение 4 класс.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата