19.4.6. Введение Transfer-Encoding
HTTP/1.1 представляет поле заголовка Transfer-Encoding (раздел 14.40). Прокси/шлюзы ДОЛЖНЫ удалить любое кодирование передачи до пересылки сообщения через совместимый MIME протокол.
Процесс для того, чтобы декодировать кодирование передачи "chunked" (раздел 3.6) может быть представлен в псевдокоде как:
length := 0 read chunk-size, chunk-ext (if any) and CRLF while (chunk-size > 0) { read chunk-data and CRLF append chunk-data to entity-body length := length + chunk-size read chunk-size and CRLF } read entity-header while (entity-header not empty) { append entity-header to existing header fields read entity-header } Content-Length := length Remove "chunked" from Transfer-Encoding
19.4.7. Версия MIME
HTTP не совместимый MIME протокол (см. приложение 19.4). Однако, HTTP/1.1 сообщения может включить отдельное общее поле заголовка MIME-Version, чтобы указать, какая версия протокола MIME использовалась, чтобы создать сообщение. Использование поля заголовка MIME-Version указывает, что сообщение находится в полном согласии с протоколом MIME.
Прокси/шлюзы должны гарантировать полное согласие (где только возможно), экспортируя сообщения HTTP в строгие среды MIME.
MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
Версия MIME "1.0" является значением по умолчанию для использования в HTTP/1.1. Однако, HTTP/1.1 парсинг сообщения и семантика определен в соответствии с этим документом а не спецификацией MIME.