首先,您可以使用浏览器访问BrowserScan,先检查自己的浏览器指纹。然后,您可以在【软件】一栏看到有三个跟”语言“相关的参数。
首选语言
图1
通过”语言“属性,可以看到一些代表国家/语言的代码,如en、US、fr、FR。这些参数来源于浏览器的语言设置选项,从图2可以知道,浏览器的首选语言是英语(美国),其次是英语、法语(法国)、法语。所以图1的”语言“属性,会按照这个顺序去排列。
图2
当用户设置好浏览器的语言之后,在访问网站或发送HTTP请求的时候,会将这个信息包含在请求头中。网站通过JavaScript脚本就可以获取用户浏览器的首选语言。
请求头语言
图3
HTTP 请求头
就像您在给服务员下单时提供的一张菜单,告诉服务器你想要些什么。它包含了一些关于您请求的信息,就像菜单上写着您想点的菜和特殊的要求一样。这些信息有助于服务器理解您的需求,然后提供适合您的服务。比如,您可以告诉服务器想要的是 HTML 页面还是图片,还可以说明您使用的是哪种语言,这样服务器就能更好地满足您的需求。
图4
本节我们不是要讨论HTTP请求头的具体信息,而是要告诉大家,在HTTP请求头里面,有一个”Accept-Language“字段。这个字段告诉服务器关于用户浏览器首选语言的信息。如图4蓝色区域:
en-US
: 表示首选的语言是美式英语。en;q=0.9
: 如果不可用,可以接受英语,但对英语的优先级稍低(权重为 0.9)。fr-FR;q=0.8
: 如果不可用,可以接受法式法语,但对法语的优先级稍低(权重为 0.8)。fr;q=0.7
: 如果不可用,可以接受任何法语,但对所有法语的优先级最低(权重为 0.7)。
权重的范围是从 0 到 1,数值越高表示用户对该语言的偏好越高。通过了解用户首选的语言环境,网站可以针对性地提供相应语言版本的页面,使用户能够更轻松地浏览和理解网站内容,提高用户满意度。
Internationalization API
图5
Internationalization API,即国际化 API是一组浏览器提供的 JavaScript API,旨在帮助开发者实现网站的国际化,即根据用户的语言和地区设置,呈现相应的日期、时间、数字格式,以及提供本地化的字符串翻译等功能。
例如全球用户访问Facebook的时候,Facebook会显示用户当地使用的语言,而不是用户不熟悉的语言。
当用户打开网站时,网站使用Internationalization API获取用户在浏览器中设置的语言首选项。假设用户的浏览器语言设置是英语,API返回的字符串可能是 "en" 或 "en-US"。
总结
无论是HTTP请求头中的语言字段还是Internationalization API,它们通常并不用于标识个别用户。网站最初采用这些技术是为了提供更良好的用户体验,以满足国际市场的需求。这些“语言”相关的信息通常与其他指纹技术(如Canvas指纹跟踪和WebGL指纹跟踪)结合使用,以增加整体指纹的准确性。
如果您想了解更多的浏览器指纹知识,可以阅读我们为您准备的指纹系列文章: