Поиск…


Вступление

Accept-Encoding сообщает серверу, какую кодировку принимает клиент. Кодирование в основном используется для сжатия.

Синтаксис

  • Accept-Encoding: кодирование; QualityFactor
  • Accept-Encoding: Encoding; QualityFactor, type; QualityFactor, type; QualityFactor, ...

параметры

параметр Описание
кодирование Тип кодировки для использования. Это также может быть * чтобы сказать, что клиент не имеет никакого отношения к тому, какую кодировку использовать
QualityFactor Коэффициент качества в формате ;q=0.8 . Если это значение равно 0, это означает «неприемлемо». (необязательный)

замечания

Accept-Encoding принимает несколько кодов и включает в себя необязательные предпочтения, для которых сервер должен использовать. Кодировка является одной из списка доступных кодировок в реестре IANA. Например, gzip .

Кодирование разделяется запятыми с необязательным коэффициентом качества (с использованием ;q= ), который использует предпочтения клиентов для использования этой кодировки. Коэффициент качества имеет значение от 0 до 1, причем чем больше число, тем больше предпочтений для этой кодировки.

Если этот заголовок не включен, клиент не указывает на предпочтение кодировки. Это не означает, что клиент поддерживает все кодировки.

Значение identity всегда приемлемо, если вы не отвергаете его с identity;q=0 .

Сервер использует Content-Encoding чтобы сообщить клиенту, какую кодировку он использует.

Если сервер не может найти приемлемую кодировку для ответа, тогда он должен отправить ответ 406 (неприемлемый) или игнорировать этот заголовок и не выполнять никаких согласований содержимого.

Запрос gzip

Запрос: " http://example.com "

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

Клиент будет принимать кодировку gzip и identity.

Запрос gzip и deflate

Запрос: " http://example.com "

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: compress, gzip
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

Клиент будет принимать только кодировки gzip, compress и identity.

Запросить компромисс, но предпочитает gzip

Запрос: " http://example.com "

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip;q=1.0, compress;q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

Клиент будет принимать кодировку gzip, compress и identity, но предпочитает gzip (который имеет коэффициент качества 1,0).

Нет предпочтения типу кодирования

Запрос: " http://example.com "

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: *
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

Клиент не предпочитает тип кодирования.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow