20

我正在研究http协议。当我使用提琴手捕捉请求时,我发现一些参数很特别。

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

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

4

2 回答 2

12

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

注意:使用“q”参数名称将媒体类型参数与接受扩展参数分开是由于历史惯例。尽管这会阻止任何名为“q”的媒体类型参数与媒体范围一起使用,但鉴于 IANA 媒体类型注册表中缺少任何“q”参数并且很少使用任何媒体类型,这种事件被认为不太可能发生接受中的参数。不鼓励未来的媒体类型注册任何名为“q”的参数。

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

于 2013-02-08T00:21:11.423 回答
3

我认为

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

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

引自网站:

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

;q=(q 因子加权)

任何按优先顺序排列的值,使用称为权重的相对质量值表示。

于 2018-10-10T10:22:38.367 回答