Spec-Zone.ru › HTTP

Accept-Encoding

Accept-Encoding

Заголовок запроса Accept-Encoding HTTP указывает кодирование содержимого (обычно алгоритм сжатия), которое клиент может понять. Сервер использует переговоры о содержимом, чтобы выбрать один из предложенных вариантов и сообщает об этом клиенту с помощью заголовка ответа Content-Encoding.

Даже если клиент и сервер поддерживают одни и те же алгоритмы сжатия, сервер может выбрать не сжимать тело ответа, если значение identity также приемлемо. К этому приводят два распространённых случая:

  • Передаваемые данные уже сжаты, поэтому вторичное сжатие не уменьшит размер передаваемых данных. Это верно для предварительно сжатых форматов изображений (например, JPEG);
  • Сервер перегружен и не может выделить вычислительные ресурсы для выполнения сжатия. Например, Microsoft рекомендует не сжимать, если сервер использует более 80% своей вычислительной мощности.

Пока директивы identity;q=0 или *;q=0 не запрещают явно значение identity, которое означает отсутствие кодирования, сервер никогда не должен возвращать ошибку 406 Not Acceptable.

Примечание:

  • IANA регистр поддерживает полный список официальных кодирований содержимого.
  • Иногда используются два других кодирования содержимого, а именно bzip и bzip2. Эти нестандартные кодирования реализуют алгоритм, используемый этими двумя программами UNIX. Обратите внимание, что bzip был прекращён из-за проблем с лицензированием патентов.
Тип заголовка Заголовок запроса
Запрещённое имя заголовка да

Синтаксис

Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *

// Multiple algorithms, weighted with the quality value syntax:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Директивы

gzip

Формат сжатия, использующий кодирование Лемпеля-Зива (LZ77) с 32-разрядной контрольной суммой CRC.

compress

Формат сжатия, использующий алгоритм Лемпеля-Зива-Вельча (LZW).

deflate

Формат сжатия, использующий структуру zlib с алгоритмом сжатия deflate.

br

Формат сжатия, использующий алгоритм Brotli.

identity

Указывает функцию идентичности (то есть без изменений или сжатия). Это значение всегда считается приемлемым, даже если оно опущено.

*

Соответствует любому кодированию содержимого, которое ещё не указано в заголовке. Это значение по умолчанию, если заголовок отсутствует. Эта директива не предполагает поддержку какого-либо алгоритма, а указывает, что никакие предпочтения не выражены.

;q= (qvalues weighting)

Любое значение размещается в порядке предпочтения, выраженном с помощью относительного значения качества, называемого весом.

Примеры

Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

Спецификации

Спецификация
Семантика HTTP
# field.accept-encoding

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
Accept-Encoding
Да
12
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да

См. также

  • HTTP переговоры о содержимом
  • Заголовок с результатом переговоров о содержимом: Content-Encoding
  • Другие похожие заголовки: TE, Accept, Accept-Language

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API