28

I have made a http request using Firefox.Now the request header shows the following:

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

But curious to know what is q=0.9,*/*;q=0.8

4

4 回答 4

25

每个媒体范围可以后跟一个或多个接受参数,以“q”参数开头,用于指示相对质量因子。第一个“q”参数(如果有)将媒体范围参数与接受参数分开。质量因子允许用户或用户代理使用从 0 到 1 的 qvalue 标度来指示该媒体范围的相对偏好程度。默认值为 q=1

信息可在此处获得

在这里也可以找到一个很好的解释。

于 2012-05-08T10:18:30.347 回答
15

标题Accept列表首先拆分,,然后;为每个条目的附加参数。因此,您示例中的列表分为text/htmlapplication/xhtml+xml和。每个条目上的参数向服务器指示该媒体类型的偏好程度。如果缺失(如前 2 个条目),则默认为其最大值。的最后一个条目向服务器表明,最终任何内容类型都是可以接受的,但不如列出的其他内容类型更可取。否则,服务器可能决定根本不发送任何内容,因为客户端无论如何都不会“接受”它。application/xml;q=0.9*/*;q=0.8q=1*/*;q=0.8

于 2014-09-16T14:34:12.360 回答
2

Q 值始终是一个从零到一的数字,它代表相对质量值。默认 Q 值为 1.0。

所以 Q 值为 0.9 的东西比 Q 值为 0.6 的东西更受欢迎。

于 2017-10-31T10:29:01.703 回答
2

要添加到@Robin479 的正确答案,问题中的接受标头等效于,

接受:
text/html;q=1,
application/xhtml+xml;q=1,
application/xml;q=0.9,
*/*;q=0.8

注意:换行符只是为了更好的可读性。

于 2016-04-28T16:52:55.513 回答