26

HTTP_USER_AGENTこのコードでPHPサーバー変数を取得すると:

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

私はこれをGoogleChromeで取得します:

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を使用していると表示されるのはなぜですか?

4

2 に答える 2

37

ユーザーエージェント文字列は、ブラウザ自体がWebサーバーに送信して自分自身を識別するテキストです。これにより、Webサイトは、ブラウザまたはブラウザの互換性に基づいてさまざまなコンテンツを送信できます。

Mozillaはブラウザレンダリングエンジン(Firefoxのコアにあるもの)であり、ChromeとIEに文字列Mozilla /4または/5が含まれているという事実は、それらがそのレンダリングエンジンと互換性があることを示しています。

于 2012-11-06T14:08:29.160 に答える
15

http://www.useragentstring.com/

そのページにアクセスすると、ユーザーエージェントの各要素についての適切な説明が表示されます。

Mozilla:

MozillaProductSlice。Mozillaベースのユーザーエージェントであると主張します。これは、FirefoxやNetscapeなどのGeckoブラウザにのみ当てはまります。他のすべてのユーザーエージェントにとって、それは「Mozilla互換」を意味します。最近のブラウザでは、これは歴史的な理由でのみ使用されます。もう本当の意味はありません

于 2012-11-06T13:59:37.233 に答える