2008年11月6日星期四

浏览器的 User Agent 详解

userAgent是一个只读字符串,声明了浏览器用于HTTP请求的用户代理头的值,User Agent 字符串在每次浏览器 HTTP 请求时发送到服务器,所以服务器就知道了用户是使用什么浏览器来访问的。一般说来,它是在navigator.appCodeName的值之后加上斜线和 navigator.appVersion的值构成的。

例如User Agent 字串为:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; Maxthon 2.0)
表示使用 Maxthon 2.0 浏览器,使用 IE7 内核,操作系统为 Windows XP.

附:什么是Windows NT

Windows NT是基于OS/2 NT的基础编制的。OS/2是由微软和IBM联合研制,分为微软的Microsoft OS/2 NT与IBM的IBM OS/2。协作后来不欢而散,IBM继续向市场提供先前的OS/2版本,而微软则把自己的OS/2 NT的名称改为Windows NT,即第一代的Windows NT 3.1。Windows NT是纯32位操作系统,采用先进的NT核心技术。NT即新技术(New Technology)。

Windows NT是Microsoft推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。它与通信服务紧密集成,提供文件和打印服务,能 运行客户机/服务器应用程序,内置了Internet/Intranet功能,已逐渐成为企业组网的标准平台。

Windows NT引入了NTFS、共享、用户账户、域、工作群组、权利、权限、安全审核等概念。

下面是微软发布的Windows NT的主要版本:

Microsoft Windows NT 3.1

Microsoft Windows NT 3.5

Microsoft Windows NT 3.51

Microsoft Windows NT 4.0

从5.0版开始,Windows NT只是简单地称为Windows了,下面的版本是后来的版本:

Microsoft Windows 2000 (Windows NT 5.0)

Microsoft Windows XP (Windows NT 5.1)

Microsoft Windows Server 2003 (Windows NT 5.2)

2007年1月30日,微软正式发行了最新的NT版本:

Microsoft Windows Vista (6.0)


对于 Web 开发人员,可以通过编程来识别出使用什么浏览器访问本站点.

例如:

在 ASP.NET 中使用 Request.Header[”User-Agent”] 得到浏览器的 User Agent,也可以使用 Request.UserAgent 来获取;

Java 中使用 request.getHeader(”User-Agent”) 来获得;

PHP 中的相应代码如下:$_SERVER[HTTP_USER_AGENT].

傲游 1.x 系列的 UserAgent 值是 “Maxthon”,傲游 2.0 的 UserAgent 值是 “Maxthon 2.0″.

所以只需要通过程序在 User-Agent 字符串中查找是否出现 “Maxthon” 或者 “Maxthon 2.0″,就能够知道用户是否通过傲游访问该站点.



没有评论:

博客归档