为什么Chrome和IE会将"Mozilla 5.0"放入他们发送到服务器的用户代理中?

136 browser user-agent

当我自己向服务器发送许多请求时,我发现在IE中,如果我选择用户字符串的值为opera用户字符串,那就太棒了

User-Agent  Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2.15 Version/10.00
Run Code Online (Sandbox Code Playgroud)

但是,如果我在Internet Explorer中选择另一个浏览器,则首先将Mozilla 5.0放入用户字符串中.

当我从Chrome发送ajax请求时,我发现他们放了用户字符串

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20
Run Code Online (Sandbox Code Playgroud)

我发现Mozilla是一个与谷歌和微软没有任何关系的组织.也许它是两者的竞争对手.为什么MSFT和Google都将Mozilla放在他们的用户代理中?是否有任何理由将Mozilla放入连接字符串?

为什么chrome和IE都会在发送请求时将Mozilla放入用户字符串中?我不知道为什么,但有什么具体原因吗?

joa*_*tis 212

请参阅:user-agent-string-history

这一切都可以追溯到浏览器嗅探并确保浏览器不会被阻止获取他们可以支持的内容.从上面的文章:

并且Internet Explorer支持框架,但不是Mozilla,因此没有框架.微软变得不耐烦,并且不想等待网站管理员学习IE并开始发送它的帧,因此Internet Explorer宣称它是"Mozilla兼容"并开始模仿Netscape,并称自己为Mozilla/1.22(兼容) ; MSIE 2.0; Windows 95),以及Internet Explorer收到的框架,所有的微软都很高兴,但网站管理员感到困惑.

  • Microsoft Edge的用户代理字符串:`Mozilla/5.0(Windows NT 10.0; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/39.0.2171.71 Safari/537.36 Edge/12.0` :) (33认同)
  • 这很有趣但很高兴知道!:d (29认同)
  • @IgorJerosimić钉了它。 (2认同)
  • Mozilla/5.0是一般标记,表示浏览器兼容Mozilla,几乎每个浏览器都是常见的. (2认同)