HTTP 标头中最常用的 Accept-Language 是什么?

use*_*448 5 http-headers

我制作网站并希望使用 HTTP 标头中的 Accept-Language 来帮助访问者找到他们的语言。然而,我很难找到有关 Accept-Language 使用情况的统计数据。

  1. 大多数访问者都会设置某种语言作为他们的接受语言吗?有些地方写着“大多数现代浏览器支持 Accept-Language”之类的内容,但是有人了解支持它的特定浏览器版本吗?如果用户不主动更改自己的 Accept-Language 设置,通常浏览器语言是否会默认设置为 Accept-Language?我猜大多数人都不会更改这些设置,但这并不意味着 Accept-Language 留空?

  2. 有人有 Accept-Language 中设置的最常用语言代码的统计数据吗?我可以制作映射系统来将它们映射到我的站点语言,但我也无法找到有关最常用代码的一些良好统计数据。了解如何使这项工作做得更好将会有很大帮助!

提前致谢!

Rai*_*ome 1

正如 Oswald 所说,默认情况下,浏览器将其设置为浏览器 UI 使用的语言。所以不,默认设置不是空白,它类似于“en-US,en”。

我找到的唯一数字是https://panopticlick.eff.org/results?#fingerprintTable。该页面测试 HTTP 请求中包含的信息量。在测试结果页面上,单击“显示指纹识别的完整结果”后,对于各种信息,它会在“x 个浏览器中有一个具有此值”列中显示其频率。

在“HTTP_ACCEPT headers”行中,它显示了浏览器给出的一些 Accept header 值的组合的频率。例如,它表示 5.25 个浏览器中就有一个发送值“text/html, / ; q=0.01 gzip, deflate, br en-US,en;q=0.5”。不幸的是,该值似乎是标头“Accept”(有些剥离)、“Accept-Encoding”和“Accept-Language”的值的串联,并添加了“br”以进行良好的测量。

正如我所写,当我尝试 panopticlick 时,它显示“5.25 个请求中就有一个”是“en-US,en”。该值即使不是最常见的值,也是最常见的值之一。295.2 个请求中有 1 个仅包含“en-US”,547.18 个请求中有 1 个仅包含“en”,1076.94 个请求中有 1 个包含“en,en-US”(应与“en”具有相同的效果,因此它不会使用它真的很有意义)。

仅改变可接受语言的配置,我们就可以推断出 panopticlick 所看到的语言的频率。更直接的方法当然是直接写信给他们并要求他们提供一张桌子。我确信 panopticlick 的样本集并不能代表整个互联网,但至少这是一个开始。