Content-Encoding

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

Content-Encoding - это сущность заголовка, используемая для сжатия медиа-типа. При наличии ее значение определяет кодировку, примененную к сущности body. Это позволяет клиенту информацию как декодировать body, чтобы получить медиа-тип ссылающийся на  заголовок Content-Type 

Рекомендация - сжимать данные насколько это возможно и следовательно использовать это поле, но некоторые типы данных, такие как изображения в формате jpeg, уже сжаты. Иногда, использование дополнительного сжатия не уменьшает размер пакета и даже может сделать загрузку дольше.

Header type Entity header
Forbidden header name no

Синтаксис

Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: identity
Content-Encoding: br

// Multiple, in the order in which they were applied
Content-Encoding: gzip, identity
Content-Encoding: deflate, gzip

Директивы

gzip
A format using the Lempel-Ziv coding (LZ77), with a 32-bit CRC. This is the original format of the UNIX gzip program. The HTTP/1.1 standard also recommends that the servers supporting this content-encoding should recognize x-gzip as an alias, for compatibility purposes.
compress
A format using the Lempel-Ziv-Welch (LZW) algorithm. The value name was taken from the UNIX compress program, which implemented this algorithm. Like the compress program, which has disappeared from most UNIX distributions, this content-encoding is not used by many browsers today, partly because of a patent issue (it expired in 2003).
deflate
Using the zlib structure (defined in RFC 1950) with the deflate compression algorithm (defined in RFC 1951).
identity
Indicates the identity function (i.e., no compression or modification). This token, except if explicitly specified, is always deemed acceptable.
br
A format using the Brotli algorithm.

Examples

Compressing with gzip

On the client side, you can advertise a list of compression schemes that will be sent along in an HTTP request. The Accept-Encoding header is used for negotiating content encoding.

Accept-Encoding: gzip, deflate

The server responds with the scheme used, indicated by the Content-Encoding response header.

Content-Encoding: gzip

Note that the server is not obligated to use any compression method. Compression highly depends on server settings and used server modules.

Specifications

Specification Title
RFC 7932: Brotli Compressed Data Format Brotli Compressed Data Format
RFC 7231, секция 3.1.2.2: Content-Encoding Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
RFC 2616, секция 14.11: Content-Encoding Content-Encoding

Browser compatibility

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
Content-EncodingChrome Полная поддержка ДаEdge Полная поддержка 12Firefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
br
ЭкспериментальнаяНестандартная
Chrome Полная поддержка 50Edge Полная поддержка 15Firefox Полная поддержка 44IE Нет поддержки НетOpera Полная поддержка 36Safari Нет поддержки НетWebView Android Полная поддержка 51Chrome Android Полная поддержка 51Firefox Android Полная поддержка 44Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Нестандартная. Ожидается плохая кросс-браузерная поддержка.
Нестандартная. Ожидается плохая кросс-браузерная поддержка.

See also