一句话回答
用户代理是在网络上发起请求的软件,比如浏览器、应用或爬虫。它用 User-Agent 请求头表明身份,这串字符写明浏览器、渲染引擎、操作系统,有时还有设备。
什么是用户代理?
用户代理是代表某人发起网络请求的软件:浏览器、手机应用、搜索引擎爬虫、AI 爬虫、监控脚本。它在 User-Agent 请求头里自我介绍。
拆解一条示例字符串
Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) AppleWebKit/605.1.15
(KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1
| 部分 | 含义 |
|---|---|
| Mozilla/5.0 | 每个浏览器都会带的历史前缀 |
| iPhone; CPU iPhone OS 18_0 | 设备和操作系统 |
| AppleWebKit/605.1.15 | 渲染引擎 |
| Version/18.0 … Safari | 浏览器和版本 |
| Mobile | 移动端布局 |
爬虫的写法不一样,比如带上 Googlebot 或 GPTBot 这样的名字,以及一个说明文档的链接。
统计从中读取什么
UA 精简和客户端提示
很长的字符串让浏览器很容易被区分,所以 Chrome 现在发送精简过的用户代理:小版本号固定,平台细节被裁掉。确实需要完整版本或设备型号的网站,可以请求用户代理客户端提示(Sec-CH-UA 系列请求头)。普通字符串里的信息只会越来越少。
局限
- 能伪造。爬虫可以自称 Windows 上的 Chrome,假爬虫也可以自称 Googlebot。要按 IP 或反向 DNS 验证爬虫,并结合行为判断。
- 它不等于一个人。很多人的字符串相同,一个人也会用好几种。
在 TapCub 里,受众报表的设备品牌和型号来自用户代理;无 Cookie 访客 ID 用的是去掉版本号的用户代理,所以浏览器升级不会产生新访客。
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
