什么是q = 0.01 $ .getJSON添加到请求标头?

时间:2012-03-22 10:13:52

标签: jquery http-headers getjson

我已在Accept请求标头上注意到此参数:

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

我对q=0.01的含义有点好奇吗?

1 个答案:

答案 0 :(得分:29)

Accept标题的q属性告诉Web服务器,如果服务器可以满足具有多种类型内容的请求,则客户端更喜欢接收哪种类型的内容。确切的值无关紧要,只有多个Accept标题之间的相对值。

只要只有一个Accept标头,q实际上什么都不做。但是,如果有多个用于指定优先级。例如(取自here),假设您有标题:

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

这可能被解释为“如果你有基本音频,发送它;否则给我发一些其他音频,或者失败,只要给我你所拥有的。”

当然没有人会强迫服务器按照描述处理这些标题(或者甚至支付任何注意它们)。