跳转到主要内容

我的 User Agent 是什么?

User Agent 是浏览器在每个 HTTP 请求的 User-Agent 标头中发送的文本,脚本可以通过 navigator.userAgent 读取它。解析工具会在页面加载时自动填入您浏览器的字符串;本指南则使用一条固定的 macOS 版 Chrome 字符串,让每位读者看到的分解结果都相同。

实例解析

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,因此它未必反映实际设备。
  • 要比较不同浏览器,可粘贴来自其他设备的字符串,或在工具中选择一个示例预设。

更多 User Agent 指南