当我们谈论浏览器指纹时,我们首先要聊的就是"UserAgent"。UserAgent是浏览器发送给网站服务器的一个HTTP头部信息,其中包含了关于浏览器类型、版本、操作系统等信息。
等等!什么是HTTP头部信息?
当你在浏览器中输入一个网址并按下回车,浏览器会向该网站的服务器发送一个请求,要求获取网页的内容。这个请求在发送时会包含一些额外的信息,这些信息就是HTTP头部(HTTP headers)。
可以把HTTP头部类比为你去餐馆吃饭时的点餐单。当你坐下后,你会向服务员递上点餐单,上面写着你的需求和要求。HTTP头部就是浏览器向服务器传达的一张"点餐单",它告诉服务器你的请求是什么,以及你的一些特殊要求。
HTTP头部中包含了很多信息,比如:
User-Agent(用户代理):就像是你告诉服务员你的名字,让他们知道是谁在点餐。User-Agent告诉服务器你正在使用的浏览器和操作系统等信息。
Accept(接受类型):这就像是你在点餐单上指定你能接受的食物类型,比如中餐、西餐或素食。Accept告诉服务器你能接受的响应类型,比如HTML网页、图片或视频。
Referer(引荐来源):这就像是你告诉服务员你是通过朋友推荐来这家餐馆的。Referer告诉服务器你是从哪个网页链接点击过来的。
Cookie(Cookie):这就像是你在点餐单上写下你的特殊要求,比如不加辣椒或少放盐。Cookie是一个存储在你的浏览器中的小文本文件,它包含了一些与你的网站访问相关的信息。
HTTP头部的作用在于帮助服务器理解你的请求,并根据你的需求返回相应的内容。就像是你的点餐单告诉服务员你想要什么一样,HTTP头部告诉服务器你需要什么样的数据和服务。
UserAgent由什么组成?
UserAgent字符串是由多个部分组成的,每个部分都包含着特定的信息,从浏览器类型到操作系统版本。BrowserScan将带你了解每部分代表的含义以及如何解析这些信息。
先来看看UserAegnt的几个示例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
1、Mozilla/5.0:
通用标识,表示该UserAgent遵循Mozilla规范,并且是5.0版本。
2、操作系统信息
操作系统信息包含用户所使用的操作系统及其版本。这对网站的开发者很重要,因为不同的操作系统可能有不同的特性或限制。
(Windows NT 10.0; Win64; x64):表示用户使用的操作系统是Windows 10,版本是64位的。
3、渲染引擎信息
渲染引擎是浏览器用来渲染网页的核心组件。了解所用渲染引擎可以帮助开发者优化网站,确保其在特定浏览器上正常运行。
AppleWebKit/537.36:表示使用的渲染引擎是Apple的WebKit,版本为537.36。
4、兼容模式信息
兼容模式表示浏览器当前是否处于某种特定的兼容性模式下。开发者可以根据这个信息来确保网站适应不同的浏览器模式。
(KHTML, like Gecko):表示浏览器在处理页面时采用类似KHTML和Gecko的渲染引擎。
5、应用信息
应用信息包括了浏览器的具体名称和版本号,这对开发者非常重要,以便确保网站能适配不同版本的浏览器。
Chrome/94.0.4606.81: 表示用户正在使用Chrome浏览器,版本是94.0.4606.81。
浏览器的UserAgent都是一样的吗?
市面上主流的浏览器有Chrome浏览器、Firefox浏览器、Safari浏览器、Edge浏览器。这些浏览器的UserAgent的信息略有不同。但是总的来说,UserAgent字符串中都会包含有关操作系统、浏览器类型、版本和渲染引擎等信息。
接下来,我们看看这4个浏览器UserAgent之间的区别:
Chrome浏览器UserAgent示例
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
FireFox浏览器UserAgent示例
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Edge浏览器UserAgent示例
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46
Safari浏览器UserAgent示例
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15
通过下面的表格,相信你会看得更加清晰,除了通用标识,其他信息都有不同的差别。
浏览器 | 通用标识 | 操作系统与版本 | 渲染引擎 | 兼容引擎 | 浏览器版本 |
Chrome | Mozilla/5.0 | (Windows NT 10.0; WOW64) | AppleWebKit/537.36 | (KHTML, like Gecko) | Chrome/102.0.0.0 Safari/537.36 |
Firefox | Mozilla/5.0 | (Windows NT 10.0; Win64; x64; rv:109.0) | Gecko/20100101 | Firefox/114.0 | |
Edge | Mozilla/5.0 | (Windows NT 10.0; Win64; x64) | AppleWebKit/537.36 | (KHTML, like Gecko) | Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46 |
Safari | Mozilla/5.0 | (Macintosh; Intel Mac OS X 10_15_7) | AppleWebKit/605.1.15 | (KHTML, like Gecko) | Version/16.1 Safari/605.1.15 |
想知道你正在使用的浏览器的UserAgent长什么样吗?马上点击检测
为什么会有两个UserAgent?
当你使用BrowserScan检测浏览器的UserAgent指纹的时候,你会发现有2个UserAgent,这是为什么呢?
其实,当涉及到获取用户的UserAgent时,可以通过两种方式:通过HTTP请求(上文已经说过)和通过JavaScript的函数。两者的区别如下:
- HTTP请求获取UserAgent是在网站的服务器端进行的,由网站的服务器解析HTTP头部中的User-Agent字段
- JavaScript获取UserAgent是在用户的浏览器端操作的,不必依赖服务器端的HTTP请求。我们可以利用JavaScript的函数查看自己浏览器的UserAgent
举个例子:此时有一台无法联网的电脑,浏览器无法向任何网站发出请求。如果想要知道该浏览器的UserAgent该怎么办呢?
我们打开Chrome浏览器,按快捷键F12打开控制台,点击 Console ,在下方输入 window.navigator.userAgent 的指令,即可查看该浏览器的UserAgent。
如果你平常有编写脚本去抓取网站的内容,请务必注意这两个UserAgent修改得是否一致。随时利用BrowserScan检测你的浏览器的UserAgent修改得是否符合真实情况。
UserAgent有什么用?
现如今,UserAgent已经有广泛的用途,以下是一些实际的应用案例:
1.网站流量分析
许多网站分析工具使用UserAgent信息来追踪访问者的浏览器、操作系统和设备类型。这有助于网站运营人员者了解其受众,优化网站体验,并确保兼容性。
例如:网站开发人员统计用户的UserAgent的数据,分析网站用户的受众,到底是PC端用户多,还是移动端用户多,各自占比多少等等。
2.网站兼容
网站开发人员通过对访问者UserAgent信息的分析,从而进行针对性的优化,确保他们的网站在各种浏览器和设备上正常运行。
例如:网站的访问者大多数都使用手机、平板电脑,那么在开发网页的时候,移动端页面的优化就显得格外重要。
3.恶意行为检测
安全公司和网站管理员使用UserAgent信息来检测恶意或不寻常的活动。某些UserAgent字符串可能表明尝试发起攻击或滥用网站的行为。
例如:如果某个用户的UserAgent字符串表现出异常的行为,网站可以采取措施,如限制该用户访问或触发安全警报。
4.广告定位
营销团队可以使用UserAgent数据来更好地定位广告。不同设备和浏览器的用户可能对不同类型的广告产生不同的反应。
例如:广告投放商可以根据用户的UserAgent数据为特定浏览器或设备类型定制广告,以提高广告的点击率和转化率。
5.数据分析和市场调研
市场研究人员和数据分析师使用UserAgent数据来了解不同浏览器和设备的用户行为。这有助于他们更好地理解用户喜好和趋势。
例如:一家电子商务公司可以使用UserAgent数据来分析哪种设备上购物更受欢迎,从而指导他们的移动应用和网站开发决策。
多账户管理须知
从上文得知,通过 UserAgent,网站可以获得一些关于用户的设备和浏览习惯的信息,例如:
浏览器类型、版本:你使用的浏览器的名称和版本
操作系统:你的操作系统Windows、macOS 或 Android
设备类型:你使用的是电脑还是手机
如果是多账户,那么就需要做到账户之间的信息特征有所差异,避免网站通过以上信息将你多个账户关联起来。据BrowserScan的调查与研究,使用浏览器插件修改UserAgent并不能使你的浏览器做到很好的伪装,防范措施并不安全。尤其是当UserAgent指纹与其他指纹信息结合在一起的时候,需要符合真实设备的特征。
而指纹浏览器能生成符合真实设备特征的指纹,并且可以让你的每个账户都在一个独一无二的环境中运行,既保障了账户的隐私,也保障了账户的安全。
欢迎你将我们的博客加入书签,以了解业界的最新消息。如果你能使用 BrowserScan 检查你的浏览器指纹,我们将不胜荣幸。
如果您想了解更多的浏览器指纹知识,可以阅读我们为您准备的指纹系列文章: