Что такое q = 0.01 $ .getJSON добавляет к заголовку запроса? - PullRequest
17 голосов
/ 22 марта 2012

Я заметил этот параметр в заголовке запроса Accept как:

Accept: application/json, text/javascript, */*; q=0.01

Мне немного любопытно, что означает q=0.01?

1 Ответ

29 голосов
/ 22 марта 2012

Атрибут q заголовка Accept сообщает веб-серверу, какой тип контента клиент предпочитает получать в случае, если сервер может удовлетворить запрос с несколькими типами контента. Точное значение не имеет значения, только относительные значения между несколькими Accept заголовками.

Пока существует только один заголовок Accept, q фактически ничего не делает. Однако, если их несколько, это служит для указания приоритета. Например (взято из здесь ), предположим, что у вас есть заголовки:

Accept:  *.*, q=0.1
Accept:  audio/*, q=0.2
Accept:  audio/basic q=1

Это может быть интерпретировано как «если у вас есть базовый звук, отправьте его; в противном случае отправьте мне какой-нибудь другой звук или, если это не получится, просто дайте мне то, что у вас есть».

Конечно, никто на самом деле не заставляет сервер обрабатывать эти заголовки, как описано (или даже обращать любое внимание на них в этом отношении).

...