所有流行的浏览器的用户代理字符串,甚至是Internet Explorer,都以Mozilla/.为什么会这样?
当我HTTP_USER_AGENT使用以下代码获取PHP服务器变量时:
<?php
$useragent = $_SERVER ['HTTP_USER_AGENT'];
echo "<b>Your User Agent is</b>: " . $useragent;
?>
Run Code Online (Sandbox Code Playgroud)
我在谷歌Chrome中得到这个:
Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.4(KHTML,像Gecko)Chrome/22.0.1229.94 Safari/537.4
这在firefox中:
Mozilla/5.0(Windows NT 6.1; rv:16.0)Gecko/20100101 Firefox/16.0
这在IE中:
Mozilla/5.0(兼容; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9; NLNL)
我显而易见的问题是这是如何工作的.为什么我的用户代理在使用Google Chrome时会说Mozilla和Windows NT?
另外为什么我在使用IE时会使用firefox呢?
在我测试的所有浏览器(IE,Firefox,Chrome,Safari,Opera,Yandex)中,window.navigator.appCodeName返回"Mozilla".我知道网络浏览器"劫持"用户代理以欺骗页面的历史,认为它们与所有其他浏览器兼容,而且我满足于appCodeName只是作为该主体的扩展,但是,我读了标准,并且事实证明,标准本身说这将是硬编码的价值"Mozilla".所以这些浏览器实际上都遵循这些标准.
为什么这个价值存在?我认为它留作将来使用,但计划是什么?
这个问题并没有真正解释它,因为它所说的只是因为浏览器劫持了它,我已经理解了,但我更想知道过去或未来的用途是什么.
因此,我正在尝试开始开发Office 365加载项(以前的Office for Office),我想知道Office在呈现应用时使用的浏览器或浏览器引擎.我尝试使用JavaScript的navigator.appCodeName和navigator.appName,但由于所描述的问题,这里将呈现方法没用.Office加载项用于呈现应用程序的浏览器或引擎是什么?