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
是什么意思?
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
意思是:“我更喜欢丹麦语,但也接受英式英语和其他类型的英语。”
在规范中,它被称为相对质量因子:
每个媒体范围后面可以跟随一个或多个accept-params,以&q;参数开头表示相对质量因子。第一个&q;参数(如果有)将媒体范围参数与accept-params分开。质量因子允许用户或用户代理使用从0到1的qvalue比例尺来指示对该媒体范围的相对偏好程度(第3.9节)。默认值为q = 1。
...
例如:
Accept: audio/*; q=0.2, audio/basic
应该被解释为“我更喜欢音频/基本格式,但如果在质量打折80%后它是最好的可用音频类型,则发送任何音频类型。”
另请参阅:
可以这样理解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
- 因为这是唯一可能出现完全转移内容含义的情况)。