Заголовки: Content-Encoding
Заголовок Content-Encoding
Базовая поддержка Широко доступно *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
* Поддержка некоторых частей этой функции может различаться.
HTTP-заголовок Content-Encoding представления перечисляет способы кодирования и порядок их применения к ресурсу. Это позволяет получателю узнать, как декодировать данные, чтобы получить исходный формат содержимого, описанный в заголовке Content-Type. Кодирование содержимого в основном используется для сжатия данных без потери информации об исходном типе мультимедиа.
Серверы должны максимально сжимать данные и использовать кодирование содержимого, когда это уместно. Обычно не следует сжимать уже сжатые типы мультимедиа, такие как .zip или .jpeg, поскольку это может увеличить размер файла. Если исходные данные уже закодированы (например, представлены в виде файла .zip), эти сведения не включаются в заголовок Content-Encoding.
Если присутствует заголовок Content-Encoding, другие метаданные (например, Content-Length) относятся к закодированной форме данных, а не к исходному ресурсу, если явно не указано иное. Кодирование содержимого отличается от Transfer-Encoding: Transfer-Encoding определяет, как сами HTTP-сообщения передаются по сети от узла к узлу.
| Тип заголовка | Заголовок представления |
|---|---|
| Запрещённый заголовок запроса | Нет |
Синтаксис
Content-Encoding: gzip Content-Encoding: compress Content-Encoding: deflate Content-Encoding: br Content-Encoding: zstd Content-Encoding: dcb Content-Encoding: dcz // Multiple, in the order in which they were applied Content-Encoding: deflate, gzip
Директивы
gzip-
Формат, использующий кодирование Лемпеля — Зива (LZ77) с 32-битной контрольной суммой CRC. Это исходный формат программы gzip для UNIX. В стандарте HTTP/1.1 также рекомендуется, чтобы серверы, поддерживающие это кодирование содержимого, распознавали
x-gzipкак псевдоним для обеспечения совместимости. compress-
Формат, использующий алгоритм Лемпеля — Зива — Велча (LZW). Название значения взято от программы compress для UNIX, в которой был реализован этот алгоритм. Подобно программе compress, исчезнувшей из большинства дистрибутивов UNIX, это кодирование содержимого сегодня используется немногими браузерами — отчасти из-за патентных ограничений (патент истёк в 2003 году).
deflate-
Использует структуру zlib (определённую в RFC 1950) с алгоритмом сжатия deflate (определённым в RFC 1951).
br-
Формат, использующий структуру алгоритма Brotli (определённую в RFC 7932).
zstd-
Формат, использующий структуру алгоритма Zstandard (определённую в RFC 8878).
dcb-
Формат, использующий алгоритм Brotli со сжатием по словарю. См. раздел Транспорт словарей сжатия.
dcz-
Формат, использующий алгоритм Zstandard со сжатием по словарю. См. раздел Транспорт словарей сжатия.
Примеры
>Сжатие с помощью gzip
На стороне клиента можно указать список схем сжатия, которые будут переданы в HTTP-запросе. Для согласования кодирования содержимого используется заголовок Accept-Encoding.
Accept-Encoding: gzip, deflate
Сервер сообщает использованную схему в заголовке ответа Content-Encoding.
Content-Encoding: gzip
Использует ли сервер запрошенные клиентом методы сжатия, зависит от конфигурации и возможностей сервера.
Спецификации
| Спецификация |
|---|
| Семантика HTTP> # field.content-encoding> |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
Content-Encoding |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 | 1 |
br |
50 | 15 | 44 | 36 | 11Не поддерживается до macOS 10.13 High Sierra. |
51 | 44 | 41 | 11 | 5.0 | 51 | 11 |
dcb |
130 | 130 | Нет | 115 | Нет | 130 | Нет | 86 | Нет | 28.0 | 130 | Нет |
dcz |
130 | 130 | Нет | 115 | Нет | 130 | Нет | 86 | Нет | 28.0 | 130 | Нет |
zstd |
123 | 123 | 126 | 109 | 26.3До macOS 26.3 Tahoe Safari не может декодировать ответы Zstandard. |
123 | 126 | Нет | 26.3 | 27.0 | 123 | 26.3 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Encoding