为什么chrome将所有代理名称作为用户代理标头的一部分发送

时间:2019-01-12 03:15:30

标签: browser user-agent

Chrome浏览器(也可能是71版或更早的版本)是否将所有浏览器名称作为其用户代理参数的一部分发送?

这是我在控制台中看到的。这是预期的吗,如果服务器想知道/记录代理名称,这会影响客户端信息吗?


Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

1 个答案:

答案 0 :(得分:0)

他们都在其Useragent的开头加入了Mozilla,因为他们遵循2000年代的标准mozilla渲染。大多数浏览器彼此共享某些渲染引擎,这就是为什么它们的useragent通常包含相似的值。

浏览器已经走了很长一段路才能达到目前的状态。当前的用户代理与浏览器的历史记录有关。当Firefox和Internet Explorer之间发生争执时,Chrome出现了。一些网站会要求Firefox用户切换到Internet Explorer以获得更好的呈现效果(因为他们的网站过旧并且与Firefox不兼容),而一些网站会建议Internet Explorer用户切换到Firefox以获得现代呈现和更好的性能。 Firefox的一些分支也使用了类似的用户代理“ Gecko / ####”,它表示该浏览器正在使用Gecko引擎。 网站检查浏览器的用户代理中是否包含“ Gecko”,并决定显示现代设计。 Chrome浏览器使用Apple WebKit引擎呈现HTML,但是为了避免这些网站显示对Internet Explorer的推荐,请在其用户代理中添加“ Like Gecko”。

现在,Chrome是顶级浏览器,看看Microsoft Edge 14:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML像Gecko)Chrome / 51.0.2704.79 Safari / 537.36 Edge / 14.14931 < / p>

由于Internet Explorer的声誉非常糟糕,Microsoft无法使用任何可能使网站认为Edge是Internet Explorer的用户代理字符串。因此,通过放置Chrome,Safari,AppleWebKit,“ Like Gecko”使正在寻找此字符串的网站感到满意,从而避免显示切换到Chrome的消息。即使Microsoft尚未使用AppleWebKit,Microsoft也在其用户代理中使用“ AppleWebKit”。 (它们将在Edge的下一版本中开始使用)