User-Agent header

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

HTTP User-Agent 请求头是一个特征字符串,让服务器和网络对等方识别发出请求的用户代理的应用程序、操作系统、供应商和/或版本。

警告: 有关向不同浏览器提供不同内容通常是坏主意的原因,请参阅使用用户代理进行浏览器检测

头类型 请求头
禁止请求头

语法

http
User-Agent: <product> / <product-version> <comment>

Web 浏览器通用格式

http
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

指令

<product>

产品标识符 — 它的名称或开发代号。

<product-version>

产品的版本号。

<comment>

包含更多详细信息的零个或多个注释。例如,子产品信息。

Firefox UA 字符串

有关基于 Firefox 和 Gecko 的用户代理字符串的更多信息,请参阅Firefox 用户代理字符串参考。Firefox 的 UA 字符串分为 4 个部分

Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version
  1. Mozilla/5.0 是表示浏览器与 Mozilla 兼容的通用令牌。出于历史原因,几乎所有浏览器今天都发送它。
  2. platform 描述了浏览器运行的原生平台(Windows、Mac、Linux、Android 等)以及它是否是手机。Firefox OS 手机显示 Mobile —— 网络就是平台。请注意,platform 可以由多个 ; 分隔的令牌组成。有关更多详细信息和示例,请参见下文。
  3. rv:gecko-version 指示 Gecko 的发布版本(例如“17.0”)。在最近的浏览器中,gecko-versionfirefox-version 相同。
  4. Gecko/gecko-trail 指示浏览器基于 Gecko。(在桌面上,gecko-trail 始终是固定字符串 20100101。)
  5. Firefox/firefox-version 指示浏览器是 Firefox 并提供版本(例如“17.0”)。

示例

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

Chrome UA 字符串

Chrome(或基于 Chromium/Blink 引擎)的用户代理字符串与 Firefox 的类似。为了兼容性,它添加了诸如 KHTML, like GeckoSafari 等字符串。

示例

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Opera UA 字符串

Opera 浏览器也基于 Blink 引擎,这就是为什么它看起来几乎与 Chrome UA 字符串相同,但添加了 "OPR/<version>"

示例

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41

旧的、基于 Presto 的 Opera 版本使用

Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
Opera/9.60 (Windows NT 6.0; U; en) Presto/2.1.1

Microsoft Edge UA 字符串

Edge 浏览器也基于 Blink 引擎。它添加了 "Edg/<version>"

示例

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59

Safari UA 字符串

在此示例中,用户代理字符串是移动 Safari 的版本。它包含单词 "Mobile"

示例

Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1

爬虫和机器人 UA 字符串

示例

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots)

库和网络工具 UA 字符串

示例

curl/7.64.1
PostmanRuntime/7.26.5

规范

规范
HTTP 语义
# field.user-agent

浏览器兼容性

另见