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.

http
Accept-Encoding: gzip, deflate

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

http
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

Смотрите также