Accept * HTTP头中q = 0.5是什么?

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 

这些“q =%f”是什么意思?

这被称为相对品质因子 。 它从0到1的范围指定用户喜欢的语言,从HTTP / 1.1规范§14.4中可以看出:

每个语言范围可以被赋予一个相关的质量值,该质量值表示用户对该范围指定的语言的偏好的估计。 质量值默认为“q = 1”。 例如,

  Accept-Language: da, en-gb;q=0.8, en;q=0.7 

将意味着:“我更喜欢丹麦语,但会接受英式英语和其他types的英语。”

在规范中被称为相对品质因子

每个媒体范围可以跟随一个或多个接受参数,以“q”参数开始,用于指示相对品质因子。 第一个“q”参数(如果有的话)将介质范围参数从accept-params中分离出来。 质量因素允许用户或用户代理使用从0到1的q值(3.9节)来指示媒体范围的相对优先级。 默认值是q = 1。

这个例子

 Accept: audio/*; q=0.2, audio/basic 

应该被解释为“我更喜欢audio/基本的,但是如果在质量降低80%之后是最好的,我可以给我发送任何audiotypes”。

也可以看看:

  • HTTP / 1.1:标题字段定义