HTTP"Accept"请求标头中"q"值的目的是什么?

UVM*_*UVM 21 http http-headers

我使用Firefox发出了一个http请求.现在请求标题显示如下:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Run Code Online (Sandbox Code Playgroud)

但好奇知道是什么 q=0.9,*/*;q=0.8

Eug*_*e S 22

每个媒体范围可以跟随一个或多个accept-params,从"q"参数开始,用于指示相对品质因数.第一个"q"参数(如果有的话)将media-range参数与accept-params分开.质量因子允许用户或用户代理使用从0到1的qvalue标度来指示该媒体范围的相对优先级.默认值为q = 1

这些信息可在此处获得

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


Rob*_*479 12

Accept首标列表是在第一分裂,,然后在;为每个条目附加参数.所以,在你的榜样名单拆分下来text/html,application/xhtml+xml,application/xml;q=0.9*/*;q=0.8.q=每个条目上的参数向服务器指示该媒体类型的优先级.1如果缺少,则默认为其最大值(如前2个条目中).最后一个条目*/*;q=0.8向服务器指示,最终任何内容类型都是可接受的,但不如列出的其他类型更优选.否则,服务器可能决定根本不发送任何内容,因为客户端无论如何都不会"接受"它.