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/8/25 21:09:59 阅读更多 →
现在不理解MoE稀疏激活机制,3个月内将无法调试任何百亿级模型:一线大厂SRE紧急备忘录

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

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

2026/8/22 7:19:33 阅读更多 →
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/8/24 15:18:59 阅读更多 →

最新新闻

Java AES-GCM-256加密解密完整指南:从原理到工程实践

Java AES-GCM-256加密解密完整指南:从原理到工程实践

1. 项目概述:为什么AES-GCM-256是当前Java加密的首选方案?如果你正在处理需要加密的数据,无论是用户密码、身份证号、支付信息还是配置文件,AES这个名字你肯定不陌生。但当你真正动手在Java里实现时,面对一堆诸如AES/C…

2026/8/26 6:41:10 阅读更多 →
蓝桥杯国赛“跑步计划”类填空题解题套路与动态规划实战

蓝桥杯国赛“跑步计划”类填空题解题套路与动态规划实战

1. 从一道国赛填空题说起:跑步计划最近在整理蓝桥杯的历年真题,特别是国赛级别的题目,发现很多同学对填空题有种又爱又恨的感觉。爱的是,它不像编程大题那样需要完整的代码框架和复杂的调试,似乎“门槛”低一些&#x…

2026/8/26 6:41:10 阅读更多 →
C²FG:基于分数差异分析的自适应引导,解决扩散模型CFG过引导难题

C²FG:基于分数差异分析的自适应引导,解决扩散模型CFG过引导难题

1. 项目概述:当CFG引导在条件生成中“失灵”时,我们如何破局?如果你玩过Stable Diffusion这类扩散模型,一定对那个神奇的“CFG Scale”(Classifier-Free Guidance Scale,分类器自由引导尺度)滑块…

2026/8/26 6:41:10 阅读更多 →
Docker与Kubernetes:从容器化到编排的完整实践指南

Docker与Kubernetes:从容器化到编排的完整实践指南

1. 从“集装箱”到“自动化码头”:Docker与K8S的通俗解构如果你是一名开发者,或者正在接触后端、运维相关的工作,那么“Docker”和“K8S”这两个词一定如雷贯耳。它们常常被并列提及,却又让很多初学者感到困惑:它们到底…

2026/8/26 6:41:10 阅读更多 →
C#部署Detic:用ONNX Runtime实现21k类开放式词汇检测

C#部署Detic:用ONNX Runtime实现21k类开放式词汇检测

简介:物体检测是计算机视觉的核心任务之一,传统YOLO等模型受限于固定类别数,难以应对数万类别的工业质检场景。开放式词汇检测通过CLIP文本-视觉对齐,将类别名称编码为文本向量,使模型可识别训练中未见的类别。Detic借…

2026/8/26 6:41:10 阅读更多 →
从RTO/RPO到云原生实践:企业级灾备与数据恢复架构深度解析

从RTO/RPO到云原生实践:企业级灾备与数据恢复架构深度解析

1. 项目概述:一次路演引发的深度思考前几天,我作为观众参加了在北京举办的腾讯云架构师同盟创业路演。这种活动通常鱼龙混杂,有真材实料的硬核分享,也有浮于表面的概念宣讲。但那天,一家专注于数据恢复与灾备的初创公司…

2026/8/26 6:40:10 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →