为什么Internet Explorer(9)在UserAgent中报告“ Mozilla”?


68

为什么Internet ExplorerMozilla在UserAgent中具有?

在Firefox中表示:

Mozilla / 5.0(Windows NT 6.1; rv:7.0.1)Gecko / 20100101 Firefox / 7.0.1

在Interner Explorer中,它表示:

Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; Trident / 5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0;。 NET4.0E; .NET4.0C)

在某些博客/论坛中提到,这是由于某些历史原因造成的,但是这是什么原因呢?

了解这一点将非常有帮助。


2
不久前,我遇到了介绍IE9的用户代理字符串的问题,该字符串还具有“历史记录”链接-“ Mozilla / x”似乎在Netscape 2.x左右!但是,它没有解释所报告的Gecko / Firefox新增功能。

哎呀在IE用户代理字符串我的错字错..
恶劣Baid

我认为您提供的IE UserAgent不是正确的。“ Gecko / 20100101 Firefox / 7.0.1”部分来自其他歌曲。
c-smile

可怕的是,IE9报告它也是“ Tablet PC 2.0”!-尽管我相信这来自Express-js的安装。
scunliffe 2012年

Answers:


84

这应该做到这一点:

http://en.wikipedia.org/wiki/Mozilla

当用户访问网站(通过诸如Web浏览器之类的用户代理)时,通常会向Web服务器发送文本字符串以标识用户代理。它被称为“用户代理字符串”。Netscape Web浏览器将其自身标识为“ Mozilla /”,后跟一些有关其运行的操作系统的信息。

由于Netscape浏览器最初实现了许多其他浏览器无法提供的功能,并且很快占领了市场,因此,只有在用户代理字符串中检测到适当版本的Mozilla时,许多网站才可以正常工作。因此,竞争浏览器开始模仿(“伪装”或“欺骗”)此字符串,以便也可以与这些站点一起使用。最早的例子是Internet Explorer使用以“ Mozilla /(兼容; MSIE ...)”开头的用户代理字符串,以便接收供Netscape使用的内容,Netscape是其开发时的主要竞争对手。此后,代理字符串已被其他用户代理复制,甚至在Internet Explorer占领浏览器市场之后仍然存在。

维基知道一切

/superuser/113020/why-does-internet-explorer-calls-itself-mozilla

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.