为什么 Chrome 和 IE 在发送到服务器的用户代理中加入“ Mozilla 5.0”?

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

User-Agent  Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2.15 Version/10.00

但是如果我选择另一个浏览器的 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

我发现 Mozilla 是一个与谷歌和微软没有任何关系的组织。也许它是双方的竞争对手。为什么微软和谷歌都把 Mozilla 放在他们的用户代理中?把 Mozilla 放在连接字符串中有什么原因吗?

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

100037 次浏览

见: 用户-代理-字符串-历史记录

这一切都要回到浏览器嗅探,确保浏览器不会被阻止获取它们可以支持的内容。根据上述文章:

而且 Internet Explorer 支持帧,但是不支持 Mozilla,所以没有给出帧。微软变得不耐烦了,不想等到网站管理员学习 IE 并开始发送帧,于是 Internet Explorer 宣布它是“ Mozilla 兼容的”,并开始模仿网景,称自己为 Mozilla/1.22(兼容的; MSIE 2.0; Windows 95) ,Internet Explorer 收到帧,所有的微软都很高兴,但网站管理员感到困惑。