您现在的位置是:首页 >

secret agent useragent历史

火烧 2022-11-08 15:26:23 1086
u erage t历史 1.为什么浏览器U er你是否好奇标识浏览器身份的U er-Age t,为什么每个浏览器都有Mozilla字样?Mozilla/5.0 Wi dow NT 6.1 WOW64

useragent历史  

1.为什么浏览器User

你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样?Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36 Mozilla/5.0 (Linux; U; Android 4.1.2; zh-tw; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0 Mozilla/5.0 (patible; MSIE 9.0; Windows NT 6.0; Trident/5.0) 故事还得从头说起,最初的主角叫NCSA Mosaic,简称Mosaic(马赛克),是1992年末位于伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心(National Center for Superputing Applications,简称NCSA)开发,并于1993年发布的一款浏览器。

它自称“NCSA_Mosaic/2.0(Windows 3.1)”,Mosaic可以同时展示文字和图片,从此浏览器变得有趣多了。然而很快就出现了另一个浏览器,这就是著名的Mozilla,中文名称摩斯拉。

一说 Mozilla = Mosaic + Killer,意为Mosaic杀手,也有说法是 Mozilla = Mosaic & Godzilla,意为马赛克和哥斯拉,而Mozilla最初的吉祥物是只绿色大蜥蜴,后来更改为红色暴龙,跟哥斯拉长得一样。但Mosaic对此非常不高兴,于是后来Mozilla更名为Netscape,也就是网景。

Netscape自称“Mozilla/1.0(Win3.1)”,事情开始变得更加有趣。网景支持框架(frame),由于大家的喜欢框架变得流行起来,但是Mosaic不支持框架,于是网站管理员探测user agent,对Mozilla浏览器发送含有框架的页面,对非Mozilla浏览器发送没有框架的页面。

后来网景拿微软寻开心,称微软的Windows是“没有调试过的硬件驱动程序”。微软很生气,后果很严重。

此后微软开发了自己的浏览器,这就是Inter Explorer,并希望它可以成为Netscape Killer。IE同样支持框架,但它不是Mozilla,所以它总是收不到含有框架的页面。

微软很郁闷很快就沉不住气了,它不想等到所有的网站管理员都了解IE并且给IE发送含有框架的页面,它选择宣布IE是兼容Mozilla,并且模仿Netscape称IE为“Mozilla/1.22(patible; MSIE 2.0; Windows 95)”,于是IE可以收到含有框架的页面了,所有微软的人都嗨皮了,但是网站管理员开始晕了。因为微软将IE和Windows捆绑销售,并且把IE做得比Netscape更好,于是第一次浏览器血腥大战爆发了,结果是Netscape以失败退出历史舞台,微软更加嗨皮。

secret agent useragent历史

但没想到Netscape居然以Mozilla的名义重生了,并且开发了Gecko,这次它自称为“Mozilla/5.0(Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826”。Gecko是一款渲染引擎并且很出色。

Mozilla后来变成了Firefox,并自称“Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0”。Firefox性能很出色,Gecko也开始攻城略地,其他新的浏览器使用了它的代码,并且将它们自己称为“Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1”,以及“Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0”,每一个都将自己装作Mozilla,而它们全都使用Gecko。

Gecko很出色,而IE完全跟不上它,因此user agent探测规则变了,使用Gecko的浏览器被发送了更好的代码,而其他浏览器则没有这种待遇。Linux的追随者对此很难过,因为他们编写了Konqueror,它的引擎是KHTML,他们认为KHTML和Gecko一样出色,但却因为不是Gecko而得不到好的页面,于是Konqueror为得到更好的页面开始将自己伪装成“like Gecko”,并自称为“Mozilla/5.0 (patible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)”。

自此user agent变得更加混乱。这时更有Opera跳出来说“毫无疑问,我们应该让用户来决定他们想让我们伪装成哪个浏览器。”

于是Opera干脆创建了菜单项让用户自主选择让Opera浏览器变成“Mozilla/4.0 (patible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51”,或者“Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51”, 或者“Opera/9.51 (Windows NT 5.1; U; en)”。后来苹果开发了Safari浏览器,并使用KHTML作为渲染引擎,但苹果加入了许多新的特性,于是苹果从KHTML另辟分支称之为WebKit,但它又不想抛弃那些为KHTML编写的页面,于是Safari自称为“Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5”,这进一步加剧了user agent的混乱局面。

因为微软十分忌惮Firefox,于是IE重装上阵,这次它自称为“Mozilla/4.0 (patible; MSIE 8.0; Windows NT 6.0) ”,并且渲染效果同样出色,但是需要网站管理员的指令它这么做才行。再后来,谷歌开发了Chrome浏览器,Chrome使用Webkit作为渲染引擎,和Safari之前一样,它想要那些为Safari编写的页面,于是它伪装成了Safari。

于是Chrome使用WebKit,并将自己伪装成Safari,WebKit伪装成KHTML,KHTML伪装成Gecko,最后所有的浏览器都伪装成了。

2.如何查询浏览器的User Agent是什么

我们总结下来,查询UserAgent一般分三种方式:1,通过各浏览器自带的UserAgent修改功能查看当前浏览器UserAgent设置情况。

如Maxthon(遨游)修改User Agent方法 中就可查看遨游浏览器的UserAgent2,通过JS事件来查询。在浏览器地址栏中输入以下代码: javascript:alert(navigator.userAgent)回车,即可弹出当前浏览器UserAgent设置情况。

如下图: 或者按下面的按钮:点击,查询您当前浏览器的UA ,和上面的方法是一样的。只是省略了您在地址栏输入的麻烦。

如果您用的是Chrome谷歌浏览器,还可以在地址栏中输入:about:version 查询到更详细的UserAgent信息。还包括浏览器版本、WebKit内核版本。

3,用网站测试:JS程序获取浏览器UA,原理类似上面的2PHP程序获取浏览器UAASP程序获取浏览器UAASP.NET程序获取浏览器UA,本站不提供测试页面。您可以下载获取浏览器UA源程序,自己配置服务器环境进行测试。

打开本站提供了四种浏览器UA测试页面,进行简单的UA查询。

3.navigator.userAgent是什么意思,包含什么内容

下面的例子将显示Navigator中的 userAgent 信息: document.write(navigator.userAgent 的值是+navigator.userAgent)对于 Navigator 2.0,将显示下列内容:navigator.userAgent 的值是 Mozilla/2.0 (Win16; I)navigator 对象--------------------------------------------------------------------------------包含关于 Web 浏览器的信息。

成员表下面的表格列出了 navigator 对象引出的成员。请单击左侧的标签来选择你想要查看的成员类型。

属性 SHOW: 属性 集合 方法 对象 方法 描述 javaEnabled 返回 Java 是否已启用。 taintEnabled 返回是否允许数据污点。

集合 描述 plugins 获取文档中所有 EMBED 对象的集合。 对象 描述 userProfile 提供了允许脚本对用户配置信息请求读取访问并执行读取操作的方法。

属性 描述 appCodeName 获取浏览器的代码名称。 appMinorVersion 获取应用程序的次版本值。

appName 获取浏览器的名称。 appVersion 获取浏览器运行的平台和版本。

browserLanguage 获取浏览器的当前语言。 cookieEnabled 获取客户端的永久 cookie 是否在浏览器中启用。

永久 cookies 是储存在客户端计算机上的。 cpuClass 获取指示 CPU 等级的字符串。

onLine 获取表明系统是否处于全局脱机模式的值。 platform 获取用户的操作系统名称。

systemLanguage 获取操作系统适用的默认语言。 userAgent 获取等同于 HTTP 用户代理请求头的字符串。

4.google 搜索403被禁止什么意思

按照Google的提示,删除了Cookies和历史记录,清除了一些不需要的IE插件后,仍然不能解决问题。

上Google搜索了很久,仍然没找到有效的解决方法。换成Firefox后,一切正常。

所以,我猜想应该只是IE的问题,Google认为请求不是IE发送的,有可能是因为IE发送的HTTP Header有问题,导致Google认错。 于是安装WireShark,跟踪了一下IE的HTTP请求,发现IE的User Agent有问题,出现了很长一串乱七八糟的东东,如下: Mozilla/4.0(patible Mozilla/4.0(patible-EmbeddedWB 14.59 / EmbeddedWB- 14.59 from: / ..我想,很有可能是因为这个问题导致的,Google不认识这个User Agent,所以拒绝了连接。

查看了一个IE的User Agent配置,发现是在注册表定义的,主要有两个地方,分别是: 系统默认值: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInter SettingsUser Agent 当前用户的定义: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInter SettingsUser Agent 其中,在HKEY_CURRENT_USER处发现了patible-EmbeddedWB 14.59 /。. ,修改了User Agent后,访问Gmail正常。

详细的修复办法: 1. 删除HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInter Settings下面的User Agent 2. 删除HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInter SettingsUser AgentPost Platform下面,除SV1外的所有项。 按如上方法修改注册表后,[鱼漂]再用WireShark跟踪了IE的HTTP请求,发现现在的User Agent正常了,也可以正常的登录Google帐号,包括Google邮件,Google Adsense等。

5.怎么修改 User

点击 工具→360安全浏览器选项→其他→杂项→统一IE和360安全浏览器的User-agent 打勾,并重启浏览器 360浏览器就进行了一个自动更新,自动将用户的360浏览器的该选项设置为勾选状态,强行让360使用IE的User Agent,大家可以进行测试,在选项中将“统一IE和360安全浏览器的User Agent标示(重启后生效)”的勾选去掉,重启浏览器之后,该功能又会自动勾选。

对于用户浏览器User Agent的查看,大家可以在地址栏直接输入 javascript:alert(navigator.userAgent); 回车即可看,可在任何浏览器任何网页上看,可以看出目前360浏览器已经默认使用IE做为其User Agent。

6.修改user

这个只能控制ie的user-agent,而且貌似ie9下已经不再使用了吧。

代码大致如下,没有测试,你试试看const string regPath = @"SOFTWAREMicrosoftWindowsCurrentVersionInter Settings5.0User Agent"; using (var ieKey = Registry.LocalMachine.CreateSubKey(regPath)) { ieKey.SetValue("", "Mozilla/5.0"); ieKey.SetValue("patible", "*"); ieKey.SetValue("Version", "*"); ieKey.SetValue("Post Platform", "*"); }见参考资料中的微软知识库。

7.java,cookie不是一般在浏览器关闭时被删除吗,那他怎样保存用户的历

一、cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二、会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。

会话cookie一般不保存在硬盘上而是保存在内存里。 如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

三、如何利用实现自动登录 当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个 用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户务需给出明确的用户名和密码,就可以访问服务器上的资源。

四、如何根据用户的爱好定制站点 网站可以使用cookie记录用户的意愿。对于简单的设置,网站可以直接将页面的设置存储在cookie中完成定制。

然而对于更复杂的定制,网站只需仅将一个惟一的标识符发送给用户,由服务器端的数据库存储每个标识符对应的页面设置。 五、cookie的发送 1.创建Cookie对象 2.设置最大时效 3.将Cookie放入到HTTP响应报头 如果你创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie:存储在浏览器的内存中,用户退出浏览器之后被删除。

如果你希望浏览器将该cookie存储在磁盘上,则 需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。

发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个Set-CookieHTTP请求报头中。由于这个方法并不修改任何之前指定的Set-Cookie报头,而是创建新的报头,因此我们将这个方法称为是addCookie,而非setCookie。

同样要记住响应报头必须在任何文档内容发送到客户端之前设置。 六、cookie的读取 1.调用request.getCookie 要获取有浏览器发送来的cookie,需要调用HttpServletRequest的getCookies方法,这个调用返回Cookie对象的数组,对应由HTTP请求中Cookie报头输入的值。

2.对数组进行循环,调用每个cookie的getName方法,直到找到感兴趣的cookie为止 cookie与你的主机(域)相关,而非你的servlet或JSP页面。因而,尽管你的servlet可能只发送了单个cookie,你也可能会得到许多不相关的cookie。

例如: StringcookieName=“userID”; Cookiecookies[]=request.getCookies; if(cookies!=null){ for(inti=0;i Cookiecookie=cookies[i]; if(cookieName.equals(cookie.getName)){ doSomethingWith(cookie.getValue()); } } } 七、如何使用cookie检测初访者 A.调用HttpServletRequest.getCookies()获取Cookie数组 B.在循环中检索指定名字的cookie是否存在以及对应的值是否正确 C.如果是则退出循环并设置区别标识 D.根据区别标识判断用户是否为初访者从而进行不同的操作 八、使用cookie检测初访者的常见错误 不能仅仅因为cookie数组中不存在在特定的数据项就认为用户是个初访者。如果cookie数组为null,客户可能是一个初访者,也可能是由于用户将cookie删除或禁用造成的结果。

但是,如果数组非null,也不过是显示客户曾经到过你的网站或域,并不能说明他们曾经访问过你的servlet。其它servlet、JSP页面以及非JavaWeb应用都可以设置cookie,依据路径的设置,其中的任何cookie都有可能返回给用户的浏览器。

正确的做法是判断cookie数组是否为空且是否存在指定的Cookie对象且值正确。

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码