Content-Encoding
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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.
Спецификации
Specification |
---|
HTTP Semantics # field.content-encoding |
Совместимость с браузерами
BCD tables only load in the browser