HTTP User-Agent详解与主流浏览器UA大全
1. User-Agent基础概念解析User-Agent用户代理是HTTP协议中的一个重要请求头字段它向服务器传递了客户端软件的相关信息。这个字符串包含了操作系统、浏览器类型和版本等关键数据服务器可以根据这些信息来优化返回的内容。典型的User-Agent字符串结构如下Mozilla/5.0 (平台信息) 引擎信息 浏览器信息这个看似简单的字符串实际上蕴含着丰富的信息Mozilla/5.0历史遗留标识几乎所有现代浏览器都会包含括号内的平台信息操作系统、设备类型等引擎信息渲染引擎及其版本浏览器信息浏览器名称和版本号重要提示虽然User-Agent可以用于浏览器检测但MDN官方文档明确指出基于User-Agent进行内容适配通常是个糟糕的主意。现代Web开发更推荐使用特性检测而非浏览器检测。2. 主流浏览器User-Agent大全2.1 Chrome浏览器系列桌面版Chrome典型UAMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Android手机版ChromeMozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36Chrome UA的特点包含AppleWebKit引擎标识特别注明KHTML, like Gecko以保持兼容性最后会带上Safari标识历史原因2.2 Firefox浏览器系列桌面版Firefox典型UAMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0移动版FirefoxMozilla/5.0 (Android 12; Mobile; rv:120.0) Gecko/120.0 Firefox/120.0Firefox UA的独特之处明确标注Gecko渲染引擎包含rv:版本号与Firefox版本一致桌面版固定包含20100101这个日期标识2.3 Safari浏览器系列Mac版SafariMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15iOS版SafariMozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1Safari UA的特点包含详细的系统版本信息有独立的Version/xx标识浏览器版本移动版明确标注Mobile标识2.4 Edge浏览器系列桌面版EdgeMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0移动版EdgeMozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36 EdgA/120.0.0.0Edge UA的识别要点基于Chromium内核所以开头与Chrome相同末尾的Edg/版本号是识别关键安卓版使用EdgA前缀iOS版使用EdgiOS前缀3. 移动设备与特殊浏览器UA3.1 微信内置浏览器Android版微信Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/120.0.0.0 Mobile Safari/537.36 MMWEBID/1.0 MicroMessenger/8.0.0iOS版微信Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.0识别关键包含MicroMessenger标识3.2 QQ浏览器手机QQ浏览器Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/120.0.0.0 Mobile Safari/537.36 QQ/8.0.03.3 UC浏览器Android UC浏览器Mozilla/5.0 (Linux; U; Android 10; zh-CN; K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/120.0.0.0 Mobile Safari/537.36 UCBrowser/12.0.0特点包含UCBrowser标识和语言代码4. 爬虫与自动化工具的UA4.1 搜索引擎爬虫Googlebot桌面爬虫Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)百度爬虫Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)4.2 自动化测试工具Selenium WebDriverMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36PuppeteerMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36注意许多自动化工具会模拟常规浏览器UA仅凭UA难以100%准确识别5. User-Agent的现代应用与隐私保护5.1 User-Agent减少计划由于隐私保护考虑现代浏览器正在实施User-Agent减少计划固定操作系统版本号如所有Android设备都显示Android 10统一设备型号标识如用K代替真实型号简化次要版本号如将120.1.2显示为120.0.05.2 替代方案Client Hints现代浏览器推荐使用Client Hints来获取设备信息服务器发送Accept-CH头部指定需要的信息客户端通过Sec-CH-UA-*头部返回具体信息需要时可以请求更详细的设备数据示例交换过程请求头 Accept-CH: Sec-CH-UA, Sec-CH-UA-Mobile 响应头 Sec-CH-UA: Chrome; v120, Chromium; v120 Sec-CH-UA-Mobile: ?16. 实际应用中的注意事项6.1 浏览器检测的正确方式不建议的做法// 不推荐基于UA字符串的简单匹配 if(navigator.userAgent.indexOf(Chrome) -1) { // Chrome特定代码 }推荐的做法// 推荐特性检测 if(IntersectionObserver in window) { // 支持IntersectionObserver API }6.2 服务端UA解析的最佳实践使用成熟的解析库如ua-parser-js只解析必要的字段缓存解析结果避免重复计算考虑User-Agent减少计划的影响Node.js解析示例const parser require(ua-parser-js); function parseUserAgent(req) { const ua parser(req.headers[user-agent]); return { browser: ${ua.browser.name} ${ua.browser.version}, os: ${ua.os.name} ${ua.os.version}, device: ua.device.type || desktop }; }6.3 常见问题排查问题为什么我的网站显示手机版布局即使用户使用桌面浏览器 可能原因UA检测逻辑没有正确处理某些桌面浏览器的移动标识解决方案检查是否包含Mobile就判定为移动设备某些桌面浏览器如开发者工具可能模拟移动UA结合屏幕尺寸和触摸支持等综合判断问题如何区分真正的Chrome和基于Chromium的浏览器 解决方案检查Edg/、OPR/等特定标识注意某些浏览器可能故意隐藏身份考虑是否真的需要如此细粒度的区分7. 历史UA格式与演变7.1 早期浏览器UANetscape 4Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)IE 6Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)7.2 现代浏览器的UA演变趋势逐渐简化不必要的信息减少可用于指纹识别的独特标识向标准化格式靠拢通过Client Hints提供更可控的信息披露8. 实用工具与资源8.1 在线UA解析工具UserAgentString.comWhatIsMyBrowser.comUA-Parser Demo8.2 常用UA解析库JavaScriptua-parser-jsbowserPythonuser-agentsua-parserPHPDeviceDetectorMobile Detect8.3 获取最新UA信息的渠道各浏览器官方开发者文档MDN Web文档Can I Use网站浏览器厂商的开发者博客在实际项目中处理User-Agent时建议保持逻辑简单健壮不要过度依赖UA中的细节信息。随着Web生态的发展特性检测和响应式设计才是更可靠的解决方案。

相关新闻

低代码平台构建应急预案管理系统的技术实践与架构分析

低代码平台构建应急预案管理系统的技术实践与架构分析

低代码平台构建应急预案管理系统的技术实践与架构分析 从技术实现角度来说,应急预案管理系统的核心需求包括:预案模板的灵活定义、应急流程的可视化编排、多角色协同响应、实时消息通知、事后复盘分析等功能模块。传统开发模式下,这类系统通常…

2026/7/30 3:56:21 阅读更多 →
现在不理解MoE稀疏激活机制,3个月内将无法调试任何百亿级模型:一线大厂SRE紧急备忘录

现在不理解MoE稀疏激活机制,3个月内将无法调试任何百亿级模型:一线大厂SRE紧急备忘录

更多请点击: https://kaifayun.com 第一章:MoE稀疏激活机制的本质与历史演进 稀疏激活是混合专家(Mixture of Experts, MoE)模型区别于传统稠密神经网络的核心特征。其本质在于:对每个输入样本,仅动态路由…

2026/7/30 19:16:09 阅读更多 →
Unity UI Toolkit实战避坑:从Web前端视角解析USS、UQuery与3D世界空间UI

Unity UI Toolkit实战避坑:从Web前端视角解析USS、UQuery与3D世界空间UI

1. 项目概述:当Web前端思维遇上Unity UI Toolkit如果你是从Web前端(比如React、Vue、原生HTML/CSS/JS)转战Unity的开发者,第一次打开UI Toolkit(UITK)时,大概率会感到一阵亲切,紧接着…

2026/7/30 11:28:23 阅读更多 →

最新新闻

195、手机影像调优:夜景模式与多摄融合中的全链路参数协同

195、手机影像调优:夜景模式与多摄融合中的全链路参数协同

195、手机影像调优:夜景模式与多摄融合中的全链路参数协同 一个让我熬夜三天的bug 去年Q3,某旗舰机项目,夜景模式在暗光下拍路灯,主摄和超广角融合后,灯杆边缘出现“鬼影”——不是光学鬼影,是那种半透明的、像果冻一样抖动的伪像。我盯着屏幕看了两小时,以为是HDR对齐…

2026/7/30 21:09:36 阅读更多 →
Matplotlib数据可视化:从入门到科研级图表实战

Matplotlib数据可视化:从入门到科研级图表实战

1. Matplotlib入门:为什么每个数据人都需要掌握它 第一次接触Matplotlib是在研究生时期的数据可视化课程上。教授在黑板上画了一个简单的折线图,然后说:"这个库会成为你们科研路上最忠实的伙伴。"当时不以为意,直到自己…

2026/7/30 21:09:36 阅读更多 →
AMAT 0190-34795 模拟卡

AMAT 0190-34795 模拟卡

AMAT 0190-34795模拟卡是应用材料半导体设备配套使用的一块信号处理板卡,用于模拟信号的采集与转换。15条特点:该型号(0190-34795)用于设备内部模拟信号处理。承担传感器模拟信号的采集与转换功能。输出信号适配设备控制系统接口。…

2026/7/30 21:09:36 阅读更多 →
NIPRON PS2551-03 电源模块

NIPRON PS2551-03 电源模块

NIPRON PS2551-03电源模块是工业或通信设备配套使用的一款电源转换器件。15条特点:该型号(PS2551-03)用于电源转换供电。采用宽电压输入设计。输出电压稳定,满足设备需求。具备过压保护功能。具备过流保护功能。具备短路保护功能。…

2026/7/30 21:09:36 阅读更多 →
AMAT E11292271 数字输入输出模块

AMAT E11292271 数字输入输出模块

AMAT E11292271数字输入输出模块是应用材料半导体设备配套使用的一款信号处理板卡,用于数字信号的采集与控制输出。15条特点:该型号(E11292271)用于设备内部数字信号的输入输出处理。负责采集传感器、开关等元件的信号。同时驱动继…

2026/7/30 21:09:36 阅读更多 →
技术赋能:如何用开源工具解决工业级3D CAD文件处理难题

技术赋能:如何用开源工具解决工业级3D CAD文件处理难题

技术赋能:如何用开源工具解决工业级3D CAD文件处理难题 【免费下载链接】mayo 3D CAD viewer and converter based on Qt OpenCascade 项目地址: https://gitcode.com/gh_mirrors/ma/mayo 在工程设计、机械制造和3D打印领域,工程师们经常面临一个…

2026/7/30 21:08:36 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻