我使用Firefox发起了一个HTTP请求,现在请求头如下所示:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
不过我很好奇 q=0.9,*/*;q=0.8
是什么意思。
我使用Firefox发起了一个HTTP请求,现在请求头如下所示:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
不过我很好奇 q=0.9,*/*;q=0.8
是什么意思。
Accept
头列表首先在,
处分割,然后对每个条目的附加参数在;
处进行拆分。因此,你的示例中的列表将被拆分为text/html
,application/xhtml+xml
,application/xml;q=0.9
和*/*;q=0.8
。
每个条目上的q=
参数指示服务器对该媒体类型的偏好程度。如果缺少它(如前两个条目),则默认为其最大值1
。
最后一个条目*/*;q=0.8
表示服务器最终可以接受任何内容类型,但会比列出的其他类型更不可取。否则,服务器可能会决定不发送任何内容,因为客户端无论如何都不会“接受”它。
Q值始终是从零到一的数字,表示相对质量值。默认的Q值为1.0。
因此,具有0.9的Q值的内容比具有0.6的Q值的内容更受欢迎。
补充@Robin479正确的回答,问题中的接受头等同于:
Accept:
text/html;q=1,
application/xhtml+xml;q=1,
application/xml;q=0.9,
*/*;q=0.8
注意: 换行符只是为了更好的可读性。