首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Accept* HTTP报头中的q=0.5是什么?

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

Stack Overflow用户
提问于 2011-12-19 00:04:15
回答 3查看 74.5K关注 0票数 207
代码语言:javascript
复制
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”是什么意思?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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

意思是:“我更喜欢丹麦语,但会接受英国英语和其他类型的英语。”

票数 267
EN

Stack Overflow用户

发布于 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%的质量下降。”

另请参阅:

票数 37
EN

Stack Overflow用户

发布于 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 -因为这是当内容的含义被完全传递时唯一可能的情况)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8552927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档