2024年4月2日发(作者:)

user-agent检测详解

特性检测并非浏览器检测

一、浏览器们的家族史

较古的浏览器

1993年,NCSA 发布了首款 web 浏览器 Mosaic。它的 user-agent 字串非常简洁:

Mosaic/0.9

虽然当时由于它对操作系统和平台的依赖性,但是基本格式还是很简单明了。在文本

中,斜杠前面是产品名称(可能会显示为 NCSA Mosaic 或是其他类似的字),斜杠后面是

产品版本号。

Netscape Communications 开发了 web 浏览器 Mozilla(当时号称“Mosaic 杀

手”)。他们首款公开发行版本: Netscape Navigator 2 的user-agent 字串具有如下格

式:

Mozilla/Version [Language] (Platform; Encryption)

Netscape 按之前的做法在 user-agent 字串的前半部分使用了产品名称和产品版本,

但在后面增加了下列信息:

1. Language - 表示应用程序用的是哪个语言

2. Platform - 表示应用程序是在什么操作系统和/或平台中运行

3. Encryption - 表示应用程序包含了什么安全加密类型。其中的值可能是

U(128位加密)、I(40位加密)、N(没加密)。

Netscape Navigator 2 的 user-agent 字串的示例:

Mozilla/2.02 [fr] (WinNT; I)

上面的字串指: Netscape Navigator 2.02 、法语 、Windows NT 、40位加密。

在当时,通过 user-agent 字串中的产品名称,可以正确判断使用的是哪个 web 浏览器。

Netscape Navigator 3 、Internet Explorer 3

1996年,Netscape Navigator 3 发布,它远远超过 Mosaic 成为当时最流行的

web 浏览器。而 user-agent 字串只有些小的变化:去掉了语言部分,多了个放操作系统

或CPU的可选信息。格式如下:

Mozilla/Version (Platform; Encryption [; OS-or-CPU description])

在 Windows 系统中 Netscape Navigator 3 的 user-agent 字串的示例:

Mozilla/3.0 (Win95; U)