web-dev-qa-db-ja.com

HTTP_USER_AGENTはどのように機能しますか?

可能性のある複製:
なぜnavigator.appCodeNameがMozillaを返すのですか?

PHPサーバー変数HTTP_USER_AGENTこのコードで:

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

Google 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クロムを使用しているときに、ユーザーエージェントがMozillaとWindows NTを言うのはなぜですか?

また、IEを使用しているときにfirefoxを使用していると言うのはなぜですか?

24
botenvouwer

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

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

28
Roy Dictus

http://www.useragentstring.com/

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

Mozilla:

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

12
Prash