User-Agent 解析器
解析任意 User-Agent 字符串,检测浏览器、操作系统、设备类型和渲染引擎。免费、即时、完全在客户端运行。
解析任意 User-Agent 字符串,检测浏览器、操作系统、设备类型和渲染引擎。免费、即时、完全在客户端运行。
User-Agent 字符串是浏览器和其他客户端发送的 HTTP 标头,用于向服务器标识自己的身份。现代用户代理最初是一个简短的标识符,现在是历史版本字符串的庞大串联,旨在与嗅探特定浏览器的站点向后兼容。如今,典型的 Chrome 用户代理会引用 Mozilla、AppleWebKit、KHTML、Gecko、Chrome 和 Safari,其中大部分都已退化。
解析用户代理会从这个密集的字符串中提取实际的浏览器、版本、操作系统和设备类型。这些数据为分析、特征检测和机器人识别提供信息。它也是不完美的——用户代理可能会被欺骗,歪曲实际的浏览器引擎,或者落后于现实(iOS 上的 Chrome 报告为 Safari,因为所有 iOS 浏览器都必须使用 WebKit)。
该解析器使用模式匹配来从用户代理字符串中识别常见的浏览器、操作系统和设备类别。输出包括浏览器名称和版本、操作系统和版本、设备类型(桌面、移动、平板电脑、机器人)和渲染引擎。解析发生在您的浏览器中;没有数据发送到任何地方。
分析、调试和安全工作流程都受益于从原始用户代理字符串中提取结构化数据。当包含数百万用户代理的服务器日志被解析为浏览器/操作系统/设备字段时,它们变得易于处理。当您可以快速查看所涉及的浏览器和版本时,列出用户代理的错误报告更容易采取行动。
机器人检测还依赖于用户代理解析作为第一个信号。许多爬虫诚实地表明自己的身份(Googlebot、Bingbot、GPTBot);其他人则恶搞 Chrome,但包含微妙的提示。解析有助于揭示这些模式。
粘贴用户代理,查看结构化数据。
用户代理解析从根本上来说是针对大型正则表达式规则库的模式匹配。浏览器检测使用子字符串(Chrome、Firefox、Safari、Edge),操作系统检测查找平台令牌(Windows NT 10.0、Mac OS X、Linux、Android、iPhone OS),设备检测将操作系统与外形尺寸提示相结合。
顺序在解析中很重要。 Edge 用户代理包括 Chrome 和 Safari 令牌,因此必须在 Chrome 之前检查 Edge。 Brave、Vivaldi 和 Opera 都分叉了 Chromium,并且存在类似的问题。成熟的解析库(ua-parser-js、ua-parser)维护规则列表,以便正确消歧。
用户代理客户端提示 (UA-CH) 是现代替代方案:结构化 Sec-CH-UA 标头取代了传统的用户代理。浏览器逐渐冻结旧字符串并迁移到 UA-CH。新的解析应该支持两者。