HTTP Accept Значение заголовка
Когда заголовок Accept 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
?
Я предполагаю, что первый, но надеялся, что кто-то знает более окончательно.
Ответы
Ответ 1
Нет, если отсутствует параметр качества q=1.0
предполагается:
В каждом медиадиапазоне МОЖЕТ следовать один или несколько параметров accept-params, начиная с параметра "q" для указания относительного коэффициента качества [...] с использованием шкалы qvalue от 0 до 1 (раздел 3.9). Значение по умолчанию: q = 1.
Таким образом, данное значение должно интерпретироваться как "application/xml, application/xhtml + xml и image/png - предпочтительные типы носителей, но если они не существуют, отправьте объект text/html (text/html;q=0.9
), и если это не существует, отправьте текстовый/обычный объект (text/plain;q=0.8
), и если это не существует, отправьте объект с любым другим типом носителя (*/*;q=0.5
)."
Ответ 2
Вербально это будет интерпретироваться как "application/xml, application/xhtml + xml и image/png - предпочтительные типы носителей, но если они не существуют, отправьте объект text/html, и если это не существует, отправьте текстовую/обычную сущность, если этого еще не существует, отправьте сущность с любым другим типом носителя."