IE9 User-agent 字符串曝光

3/24/2010来源:IE浏览器人气:6428

开发者们瞪大眼睛看过来,IE9在官方开发博客中表示他们默认将会使用比较短的 User-Agent 识别字符。这 将会改善整体性能、互操作性和兼容性。IE9 将不会再继续把.NET 等软件附加的信息加入 UA 字符串之中。官 方还说,细心的人们注意到IE9平台预览版使用的是IE8的UA,因此特别发布了 IE9 的缺省 UA 字符串,以 方便开发者们提早准备。
站点开发者们需要注意新版字符串同IE8相比的四个主要变化:

1、应用程序版本从“Mozilla/4.0”升级到“Mozilla/5.0”,以和其他各浏览器匹配。这一改动表明IE9是互操作性良好的浏览器。
2、版本标识从“MSIE 8.0”升级到“MSIE 9.0”。
3、Trident内核版本从“Trident/4.0”升级到“Trident/5.0”。
4、IE9将不附加其他任何由软件或机器生成的信息到UA字符串里。


IE9 User-Agent 。图/Microsoft

IE 开发团队接到了很多抱怨UA字符串太长的反馈,因此将这一固定下来的字符串作为一项主要的改进。如果应用程序和平台需要添加自身的识别信息,可以像以前的IE版本一样,加入平台前(PRe-platform)或者平台后(Post-platform)注册表键值。IE9不会更改现有的键值。

网站开发者们可以继续通过 navigator.userAgent 属性添加自身的特殊键值。

对于IE9的兼容性视图,和IE8一样,将会沿用IE7的标准视图的UA:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)

对此的解读如下:
1、Mozilla/4.0 和 MSIE 7.0 考虑到了兼容性;
2、从 Trident/4.0 提升到 Trident/5.0 将 IE9 和 IE8 的兼容性视图区别开来。

微软IE开发团队希望开发者们测试新的 UA 字符串能否被正确识别并应用,并将他们的兼容性问题提交给 IE 开发组,开发者们可以在以下的地址中留言反馈。

访问:IE Blog

小知识:User-Agent 来源

User Agent (UA) 字符串在每次浏览器 HTTP 请求时发送到服务器,所以服务器就知道了用户是使用什么浏览器来访问的。有些浏览器说被多少人使用了,实际上就可以通过判断每个ip的UA来确定这个IP是用什么浏览器访问的,以得到使用量的数据。

例如
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

注意:斜体即为程序和平台添加的字符串内容,在IE9里这些部分将被删除。

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

asp.net 中使用 Request.Header["User-Agent"] 得到浏览器的 User Agent,也可以使用 Request.UserAgent 来获取;
java 中使用 request.getHeader(”User-Agent”) 来获得;
php 中的相应代码如下:$_SERVER[HTTP_USER_AGENT]。

如果使用Firefox浏览器插件User agent switcher,用户就可以轻松地在不同UA之间切换,把自己伪装成其他浏览器。这样就可以在PC上预览WAP或移动格式的网页,比如专门为iPhone设计的页面。

2006年,傲游曾被怀疑更改了其他 IE 内核浏览器的 UA 设置,不得不声明澄清。详细情况请看我们以前的报道。

cnBeta 编译自 MSDN