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



我正在研究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标头中的参数q=0.9,*/*;q=0.8、Accept Language标头中的q=0.8和Accept Charset标头中的q=0.7,*;q=0.3是什么意思?

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

注意:使用"q"参数名称来分隔介质类型Accept扩展参数中的参数是由于历史实践尽管这会阻止任何名为"q"不用于媒体范围,这样的事件被认为是考虑到IANA中缺乏任何"q"参数,不太可能媒体类型注册表和任何媒体类型的罕见使用Accept中的参数。不鼓励未来的媒体类型注册任何名为"q"的参数。

这基本上是一种给浏览器一种指示对特定媒体类型的偏好的方式。

我认为

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

对这个问题有更好的解释。

网站报价:

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

q=(q因子加权)

使用称为权重的相对质量值表示的按偏好顺序排列的任何值

相关内容

  • 没有找到相关文章

最新更新