Значение заголовка HTTP Accept - PullRequest
43 голосов
/ 16 марта 2011

Когда заголовок запроса браузера Accept говорит что-то вроде следующего:

Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Означает ли это, что application/xml, application/xhtml+xml и text/html имеют качественный параметр 0.9?

Или это означает, что application/xml и application/xhtml+xml имеют значение по умолчанию (q=1), а text/html имеет параметр q=0.9?

Я предполагаю первое, но надеялся, что кто-то знает более определенно.

Ответы [ 2 ]

43 голосов
/ 16 марта 2011

Нет, если параметр качества отсутствует * Предполагается q=1.0:

За каждым медиа-диапазоном МОЖЕТ следовать один или несколько параметров accept, начиная сПараметр «q» для указания относительного показателя качества […] с использованием шкалы qvalue от 0 до 1 (раздел 3.9).Значением по умолчанию является q = 1.

Таким образом, данное значение следует интерпретировать как: « application / xml , application / xhtml + xml image / png являются предпочтительными типами мультимедиа, но если они не существуют, отправьте сущность text / html (text/html;q=0.9), и, если она не существуетзатем отправьте объект text / plain (text/plain;q=0.8), а если его не существует, отправьте объект с любым другим типом мультимедиа (*/*;q=0.5). ”

0 голосов
/ 18 августа 2015

В устной форме это будет интерпретировано как «application / xml, application / xhtml + xml и image / png - предпочтительные типы мультимедиа, но если они не существуют, отправьте объект text / html, а если это не так существует, отправьте текстовую / обычную сущность, если она еще не существует, отправьте сущность с любым другим типом мультимедиа. "

...