我的 User Agent 是什么?
User Agent 是浏览器在每个 HTTP 请求的 User-Agent 标头中发送的文本,脚本可以通过 navigator.userAgent 读取它。解析工具会在页面加载时自动填入您浏览器的字符串;本指南则使用一条固定的 macOS 版 Chrome 字符串,让每位读者看到的分解结果都相同。
实例解析
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- 浏览器
- Chrome 120.0.0.0
- 渲染引擎
- Blink
- 操作系统
- macOS 10.15.7
- 设备类型
- 桌面
- 设备
- 未知
- CPU 架构
- 未知
- 机器人 / 爬虫
- 否
标识分解
| 标识 | 解释 |
|---|---|
| Mozilla/5.0 | 历史遗留的兼容性标识。几乎所有浏览器都以它开头;它并不表示浏览器是 Firefox。 |
| (Macintosh; Intel Mac OS X 10_15_7) | 平台注释。Chrome 和 Safari 将 macOS 版本冻结为 10_15_7,因此更新的 macOS 版本和搭载 Apple silicon 的 Mac 都发送相同的值。 |
| AppleWebKit/537.36 | 引擎标识。Chrome 的 Blink 引擎最初是 WebKit 的分支,至今仍报告这个固定值。 |
| (KHTML, like Gecko) | 兼容性注释:WebKit 源自 KHTML,而“like Gecko”是为那些只向 Gecko 浏览器提供现代页面的网站而添加的。 |
| Chrome/120.0.0.0 | 真实的浏览器及其版本。只有主版本号(120)有意义;Chrome 的次版本号、构建号和补丁号均发送 0.0.0。 |
| Safari/537.36 | 另一个兼容性标识,让查找 Safari 的网站把 Chrome 当作 WebKit 系浏览器。它并不表示浏览器是 Safari。 |
解析器识别出 macOS 10.15.7 上采用 Blink 引擎的 Chrome 120。macOS 版本和末尾的 0.0.0 都是冻结值,因此实际系统可能比字符串所示更新。CPU 架构保持未知:解析器不会把 Intel 当作 CPU 提示,而且搭载 Apple silicon 的 Mac 也发送相同的文本。
关键规则
- User Agent 字符串是一串以空格分隔的“产品/版本”标识,平台详情放在括号中。
- 大多数标识是为了兼容而存在:浏览器互相复制标识,好让旧的检测代码继续工作,因此解析器必须看出现了哪些标识以及它们的顺序,而不是只看单个单词。
- 解析工具会在页面加载时从您的浏览器填入您的 User Agent。解析本身在您的浏览器中运行,而不是在服务器上。
- 浏览器扩展、隐私设置、开发者工具的设备模拟以及应用内浏览器都可能改变 User Agent,因此它未必反映实际设备。
- 要比较不同浏览器,可粘贴来自其他设备的字符串,或在工具中选择一个示例预设。