免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 715 | 回复: 0
打印 上一主题 下一主题

关于IE的User-AgentIE User-Agent是如何生成的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-01 17:13 |只看该作者 |倒序浏览
关于IE的User-AgentIE User-Agent是如何生成的
以Win XP/IE6为例,根据我的理解我来简介一下IE user-agent的生成,不对之处请指正。
首先,IE的缺省标示为:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
该标示共有4个部分,它们对应的注册表项分别为:
Mozilla/4.0 -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\(Default)
compatible -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Compatible
MSIE 6.0 -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Version
Windows NT 5.1 -- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Platform
一般情况下,这4个注册表项均为空,IE会使用缺省值。当然,比如Windows版本,肯定是通过Win32 API来获取的,如GetVersionEx。最终用户或者程序里面可以通过修改这些注册表键值达到修改IE标示的目的。
再说一下那些附加的字符串。比如在我的机器上,完整的标示为:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)
比起上面缺省标示多了3项:SV1; Maxthon; .NET CLR 1.1.4322
其中前面两项是放在这里面的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform
其中SV1是XP SP2加上去的,因为SP2加了一些安全特性(如防火墙,安全中心什么的),SV1表示Security Version 1。Maxthon加上的一项就不用说了。
最后一项(.NET CLR 1.1.4322)是放在这里面的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
这个自然是安装.NET Framework后加上的。
注意这里的Post Platform都只用注册表键名就可以了,不用设置键值。
IE启动的时候就会依序读取以上注册表键,然后拼起来就可以生成User-Agent字符串了  
这个User-Agent字符串会被IE保留在内存中,每次发送HTTP请求的时候加上。所以IE只有启动的时候才会读取这些注册表键,如果你修改了某项,需要关掉IE重开才能生效。
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28528/showart_1674548.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP