User Agent Parser
User Agent String
Parsed Result
Browser
Operating System
Device Type
Engine
技术详情
User Agent 解析器的工作原理
工具功能
User Agent 解析器分析浏览器发送的 User-Agent 字符串,从中提取四项关键信息:浏览器名称与版本(Chrome/Firefox/Safari/Edge/Opera/IE)、操作系统与版本(Windows/macOS/Android/iOS/Linux)、设备类型(Desktop/Mobile/Tablet)和渲染引擎(Blink/WebKit/Gecko/Trident)。工具默认显示当前浏览器的 User Agent 字符串,用户也可以粘贴任意 UA 字符串进行解析。
常见开发者使用场景
User Agent 字符串结构
User-Agent 字符串格式为多个由空格分隔的令牌,每个令牌格式为 Product/version。标准格式如:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36。
历史原因导致大多数浏览器声明 "Mozilla/5.0",这是对早期 Netscape 浏览器的兼容性声明。Chrome 同时声明 AppleWebKit(渲染引擎)和 Safari(兼容),但使用 Blink(WebKit 的分支)引擎。这种"UA 伪装"使得解析逻辑需要复杂的检测顺序。
常见陷阱与注意事项
- UA 不可靠:User Agent 可以被任意修改(浏览器插件、爬虫工具、开发者工具),不应作为安全验证的唯一依据。
- 解析顺序:工具的检测顺序是先检查 Edge 和 Opera,再检查 Chrome,最后 Safari。如果顺序错误可能导致 Chrome 被误判为 Safari。
- 版本格式:不同浏览器的版本信息格式不同,工具使用正则表达式提取主要版本号,但无法保证100%覆盖所有变体。
- 新浏览器:新型浏览器(如 Arc、Brave)通常伪装为 Chrome,通过 UA 无法准确区分。
- 功能检测优先:推荐使用功能检测(feature detection)代替 UA 嗅探,现代 JavaScript 提供了更可靠的 API(如 CSS.supports()、'fetch' in window 等)。
何时使用此工具而非代码
在需要快速分析自己的浏览器标识、验证 UA 字符串格式、或调试 UA 相关问题时使用此工具。对于生产代码中的 UA 解析,应使用专门的 UA 解析库(如 ua-parser-js、useragent),它们维护了全面的 UA 数据库并定期更新以支持新浏览器。