26

HTTP_USER_AGENT当我使用此代码获取 PHP 服务器变量时:

<?php
   $useragent = $_SERVER ['HTTP_USER_AGENT'];
   echo "<b>Your User Agent is</b>: " . $useragent;
?>

我在谷歌浏览器中得到这个:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like 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的时候说我用的是火狐?

4

2 回答 2

37

用户代理字符串是浏览器自己发送给网络服务器以标识自己的文本,以便网站可以根据浏览器或根据浏览器兼容性发送不同的内容。

Mozilla 是一种浏览器渲染引擎(Firefox 的核心引擎),Chrome 和 IE 包含字符串 Mozilla/4 或 /5 的事实表明它们与该渲染引擎兼容。

于 2012-11-06T14:08:29.160 回答
15

http://www.useragentstring.com/

访问该页面,它将为您提供用户代理的每个元素的良好解释。

Mozilla:

Mozilla 产品切片。声称是基于 Mozilla 的用户代理,这仅适用于 Firefox 和 Netscape 等 Gecko 浏览器。对于所有其他用户代理,它意味着“Mozilla 兼容”。在现代浏览器中,这仅用于历史原因。已经没有真正的意义了

于 2012-11-06T13:59:37.233 回答