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”是什么意思?
发布于 2011-12-19 00:06:24
这被称为相对品质因数。它指定用户喜欢哪种语言,范围从0到1,从HTTP/1.1 Specification, §14.4可以看出
可以给每个语言范围一个相关的质量值,该质量值表示用户对由该范围指定的语言的偏好的估计。quality值默认为"q=1“。例如,
Accept-Language: da,en-gb;q=0.8,en;q=0.7
意思是:“我更喜欢丹麦语,但会接受英国英语和其他类型的英语。”
发布于 2011-12-19 00:06:59
它在规范中称为相对品质因数:
接受每个媒体范围后可以跟随一个或多个
-params,以用于指示相对质量因数的"q“参数开始。第一个"q“参数(如果有)将media-range参数与accept-params分开。质量因子允许用户或用户代理使用从0到1的qvalue范围来指示该媒体范围的相对偏好程度(第3.9节)。默认值为q=1。
..。
示例
接受: audio/*;q=0.2,audio/basic
应该解释为“我更喜欢音频/基本的,但给我发送任何音频类型,如果它是最好的可用的80%的质量下降。”
另请参阅:
发布于 2017-11-30 20:22:32
Accept-languages质量参数可以这样理解:
通过将Accept-Language: pl_PL;q=0.8, en_US;q=0.2,
标头附加到请求,我们可以在以下消息中与服务器通信
服务器,请提供我这个网站的波兰语翻译,但请这样做,只有当它的质量是相关质量因素的
>= %80%
。如果质量是<80%
-我不介意得到英文版本,因为它对我来说无关紧要,因为我说英语。
因此,例如,作为网页内容提供商,我们可能会以这样一种方式引入Accept-Language
头解析,即我们的网站适用于根本不会说英语的外国人(那么即使是翻译后的导航也会很有帮助(假设,只翻译了导航的页面具有q=0.1
),其中完全翻译的内容具有q=0.9
,并且由使用原始语言和翻译语言的母语人士验证的完全翻译的内容可能具有q=0.99
-因为这是当内容的含义被完全传递时唯一可能的情况)。
https://stackoverflow.com/questions/8552927
复制相似问题