CodeToolProCodeToolProFree Online Developer Tools
GitHub

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 解析在 Web 开发中用于多种目的。服务器根据 User Agent 提供不同的内容版本(如为移动设备提供简化页面);分析工具根据 UA 统计用户使用的浏览器和系统分布;在调试兼容性问题时,需要了解客户端的具体浏览器版本来复现 Bug;反爬虫系统中根据 UA 识别机器人流量。CDN 和安全网关也使用 UA 进行流量路由和安全策略决策。

    解析 UA 后,可以结合 设备信息查看器 获取更完整的设备环境信息,或使用 IP 查询工具 结合 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 数据库并定期更新以支持新浏览器。