" q = 0.9,* / *; q = 0.8"的含义是什么?

时间:2013-02-08 00:18:28

标签: http http-headers httpwebrequest

我正在研究http协议。当我使用fiddler捕获请求时,我发现一些特殊的论点。

http请求的一部分:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryiUs1bDxxBwTvwCxS
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

Accept-header中的参数q=0.9,\*/\*;q=0.8,Accept-Language-header中的q=0.8和Accept-Charset-header中的q=0.7,*;q=0.3是什么意思?

2 个答案:

答案 0 :(得分:9)

摘自本页http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

  

注意:使用“q”参数名称来分隔媒体类型         Accept扩展参数中的参数是历史的         实践。虽然这会阻止任何名为的媒体类型参数         “q”与媒体范围一起使用,这种事件被认为是         由于IANA缺乏任何“q”参数,因此不太可能         媒体类型注册表和任何媒体类型的罕见用法         Accept中的参数。不鼓励未来的媒体类型         注册任何名为“q”的参数。

这基本上是一种为浏览器提供指示某种媒体类型偏好的方法。

答案 1 :(得分:0)

我认为

  

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language

对该问题有更好的解释。

网站报价

接受语言:en-US,en; q = 0.5

; q =(q因子加权)

以优先顺序排列的任何值都使用称为质量的相对质量值表示。