欢迎来到天天文库
浏览记录
ID:40571016
大小:27.89 KB
页数:7页
时间:2019-08-04
《user-agent检测详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、user-agent检测详解特性检测并非浏览器检测一、浏览器们的家族史较古的浏览器1993年,NCSA发布了首款web浏览器Mosaic。它的user-agent字串非常简洁:Mosaic/0.9虽然当时由于它对操作系统和平台的依赖性,但是基本格式还是很简单明了。在文本中,斜杠前面是产品名称(可能会显示为NCSAMosaic或是其他类似的字),斜杠后面是产品版本号。NetscapeCommunications开发了web浏览器Mozilla(当时号称“Mosaic杀手”)。他们首款公开发行版本:NetscapeNavigator2的user-agent字串具有如下格式
2、:Mozilla/Version[Language](Platform;Encryption)Netscape按之前的做法在user-agent字串的前半部分使用了产品名称和产品版本,但在后面增加了下列信息:1.Language-表示应用程序用的是哪个语言2.Platform-表示应用程序是在什么操作系统和/或平台中运行3.Encryption-表示应用程序包含了什么安全加密类型。其中的值可能是U(128位加密)、I(40位加密)、N(没加密)。NetscapeNavigator2的user-agent字串的示例:Mozilla/2.02[fr](WinNT;I)上面
3、的字串指:NetscapeNavigator2.02、法语、WindowsNT、40位加密。在当时,通过user-agent字串中的产品名称,可以正确判断使用的是哪个web浏览器。NetscapeNavigator3、InternetExplorer31996年,NetscapeNavigator3发布,它远远超过Mosaic成为当时最流行的web浏览器。而user-agent字串只有些小的变化:去掉了语言部分,多了个放操作系统或CPU的可选信息。格式如下:Mozilla/Version(Platform;Encryption[;OS-or-CPUdescriptio
4、n])在Windows系统中NetscapeNavigator3的user-agent字串的示例:Mozilla/3.0(Win95;U)上面的字串指:NetscapeNavigator3、Windows95、128位加密。在Windows系统中,字串里面不会显示OS或CPU的信息。NetscapeNavigator3发布不久,微软公布了它的首款web浏览器:IE3 ¹,但是Netscape是当时首选浏览器,大多数服务器在加载页面前都会检查user-agent是否为该款浏览器。IE如果不兼容Netscapeuser-agent字串,使用IE的用户就根本打不开这些页面,
5、于是造就了如下格式:Mozilla/2.0(compatible;MSIEVersion;OperatingSystem)在Windows95中IE3.02的user-agent字串的示例:Mozilla/2.0(compatible;MSIE3.02;Windows95)由于当时的浏览器嗅探只查user-agent字串中的产品名称部分,结果IE摇身一变被识别成了Mozilla,伪装成NetscapeNavigator。这个做法引发了对浏览器识别的争论。从此以后,浏览器真正的版本埋没在了字串的中间。NetscapeCommunicator4、InternetExplo
6、rer4至81997年8月,NetscapeCommunicator4发布(发布的名称中Navigator换成了Communicator),它的user-agent字串格式与3版本一致。Windows98中4版本的user-agent字串如下:Mozilla/4.0(Win98;I)Netscape浏览器在更新时,版本也相应增加。4.79版本的user-agent字串如下:Mozilla/4.79(Win98;I)微软发布IE4时,user-agent字串更新了版本,格式如下:Mozilla/4.0(compatible;MSIEVersion;OperatingSy
7、stem)在Windows98中IE4的user-agent字串的示例:Mozilla/4.0(compatible;MSIE4.0;Windows98)可以看出,Mozilla的版本与IE实际的版本一致,这样就可以识别第4代浏览器了。但遗憾的是,不久IE4.5马上就发布了(只在Mac平台),虽然Mozilla版本仍是4,但是IE的版本改成如下:Mozilla/4.0(compatible;MSIE4.5;Mac_PowerPC)此后,IE的版本一直到7都沿用了这个模式。而IE8的 user-agent字串添加了呈现引擎(renderingengin
此文档下载收益归作者所有