3.5. Кодирование содержимого (content codings)
Значение кодирования содержимого указывает какое преобразование кодирования было или будет применено к объекту. Кодирование содержимого используется прежде всего для сжатия или другого полезного преобразования к документу без потери идентификации основного медиа типа и информации. Часто, объект сохраняется в кодированной форме, затем передается, а потом декодируется получателем.
content-coding = token
Все значения кодирования содержимого (content-coding) не чувствительны к регистру. HTTP/1.1 использует значения кодирования содержимого (content-coding) в полях заголовка Accept-Encoding (раздел 14.3) и Content-Encoding (раздел 14.12). Хотя значение описывает кодирование содержимого, но, что более важно — оно указывает, какой механизм декодирования потребуется для обратного процесса.
Internet Assigned Numbers Authority (IANA) действует как реестр для значений лексем кодирования содержимого (content-coding). Первоначально реестр содержал следующие лексемы:
- gzip
- Формат кодирования, производящий сжатие файла программой "gzip" (GNU zip), как описано в RFC 1952 [25]. Это формат Lempel-Ziv кодирования (LZ77) с 32 разрядным CRC.
- compress
- Формат кодирования, производимый общей программой "compress" для сжатия UNIX файлов. Это формат адаптивного Lempel-Ziv-Welch кодирования (LZW).
Обратите внимание: Использовать названия программ для идентификации форматов кодирования не желательно и должно быть не понятно будущим кодированиям. Их использование здесь объясняется исторической практикой, но так делать не нужно. Для совместимости с предыдущими реализациями HTTP, приложения должны рассматривать "x-gzip" и "x-compress" как эквиваленты "gzip" и "compress" соответственно.
- deflate
- Формат zlib, определенный в RFC 1950 [31], в комбинации с механизмом сжатия "deflate", описанным в RFC 1951, Спецификация формата сжатия DEFLATE v1.3 [29].
Новая лексема значения кодирования содержимого (content-coding) должна быть зарегистрирована; чтобы обеспечить взаимодействие между клиентами и серверами, спецификация алгоритма кодирования содержимого, необходимого для определения нового значения, должна быть открыто опубликована и адекватна для независимой реализации, а также соответствовать цели кодирования содержимого определенного в этом разделе.