我使用Firefox发出了一个http请求。现在请求标题显示如下:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
但很想知道什么是q=0.9,*/*;q=0.8
答案 0 :(得分:20)
每个媒体范围可以跟随一个或多个accept-params,从“q”参数开始,用于指示相对品质因数。第一个“q”参数(如果有的话)将media-range参数与accept-params分开。质量因子允许用户或用户代理使用从0到1的qvalue标度来指示该媒体范围的相对优先级。默认值为q = 1
该信息可用here
也可以找到一个很好的解释here。
答案 1 :(得分:11)
Accept
标题列表首先在,
分割,然后在;
分割,以获得每个条目的其他参数。因此,示例中的列表会分为text/html
,application/xhtml+xml
,application/xml;q=0.9
和*/*;q=0.8
。
每个条目上的q=
参数向服务器指示该媒体类型的优先级。默认值为1
的最大值(如果缺少)(如前2个条目中)。 */*;q=0.8
的最后一个条目向服务器指示,最终任何内容类型都是可接受的,但不如列出的其他类型更优选。否则,服务器可能决定根本不发送任何内容,因为客户端无论如何都不会“接受”它。
答案 2 :(得分:2)
要添加@ Robin479的正确答案,问题中的接受标题相当于,
接受:
text / html的; Q = 1,
应用/ XHTML + xml的; Q = 1,
应用/ XML; Q = 0.9,
* / *; Q = 0.8
注意:新行字符只是为了更好的可读性。
答案 3 :(得分:1)
Q值偏离0到1的数字,它代表相对质量值。默认Q值为1.0。
所以Q值为0.9的东西比Q值为0.6的东西稍微优先。