ホームページ » の仕方 » ブラウザのユーザエージェントとは何ですか?

    ブラウザのユーザエージェントとは何ですか?

    あなたのブラウザはあなたが接続するすべてのウェブサイトにそのユーザエージェントを送ります。私たちは以前にあなたのブラウザのユーザーエージェントを変更することについて書いてきました - しかし、とにかく、ユーザーエージェントとは正確には何ですか。?

    ユーザエージェントは、Webサーバに対してブラウザとオペレーティングシステムを識別する「文字列」、つまりテキストの行です。これは簡単に思えますが、ユーザーエージェントは時間の経過とともに混乱してきました.

    基礎

    ブラウザがWebサイトに接続すると、HTTPヘッダーにUser-Agentフィールドが含まれます。ユーザーエージェントフィールドの内容はブラウザによって異なります。各ブラウザには、独自の独自のユーザーエージェントがあります。基本的には、ユーザーエージェントはブラウザが「こんにちは、私はWindows上のMozilla Firefoxです」または「こんにちは、私はiPhone上のSafariです」とWebサーバーに伝える方法です。.

    Webサーバーはこの情報を使用して、さまざまなWebページをさまざまなWebブラウザやさまざまなオペレーティングシステムに配信できます。たとえば、Webサイトでモバイルページをモバイルブラウザに送信したり、最新のページから最新のブラウザに送信したり、「ブラウザをアップグレードしてください」というメッセージをInternet Explorer 6に送信したりできます。.

    ユーザエージェントを調べる

    たとえば、Windows 7上のFirefoxのユーザーエージェントは次のとおりです。

    Mozilla / 5.0(Windows NT 6.1; WOW64; rv:12.0)Gecko / 20100101 Firefox / 12.0

    このユーザーエージェントはWebサーバーにかなりのことを伝えます:オペレーティングシステムはWindows 7(コードネームWindows NT 6.1)、それはWindowsの64ビットバージョン(WOW64)、そしてブラウザ自体はFirefox 12です。.

    それでは、Internet Explorer 9のユーザーエージェントを見てみましょう。

    Mozilla / 5.0(互換; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    ユーザーエージェント文字列は、ブラウザをTrident 5レンダリングエンジンでIE 9として識別します。しかし、あなたは混乱を招く何かを見つけるかもしれません - IEはそれ自身をMozillaとして識別します.

    私たちはすぐにそれに戻ります。まず、Google Chromeのユーザーエージェントも調べてみましょう。

    Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 536.5(GeckoのようなKHTML)Chrome / 19.0.1084.52 Safari / 536.5

    プロットは厚くなります。ChromeはMozillaとSafariの両方のふりをしています。その理由を理解するために、ユーザーエージェントとブラウザの歴史を調べる必要があります。.

    ユーザエージェント文字列

    モザイクは最初のブラウザの1つでした。そのユーザーエージェント文字列はNCSA_Mosaic / 2.0でした。その後、Mozillaが登場し(後にNetscapeと改名)、そのユーザーエージェントはMozilla / 1.0でした。 MozillaはMosaicよりも高度なブラウザでした - 特に、フレームをサポートしていました。 Webサーバーは、ユーザーエージェントにMozillaという単語が含まれていることを確認し、フレームを含むページをMozillaブラウザに送信しました。他のブラウザには、Webサーバーは古いページをフレームなしで送信しました.

    やがて、MicrosoftのInternet Explorerが登場し、フレームもサポートしました。ただし、WebサーバーはMozillaブラウザに送信しただけなので、IEはフレーム付きのWebページを受信しませんでした。この問題を解決するために、マイクロソフトはユーザーエージェントにMozillaという単語を追加し、追加情報(「互換」という単語とIEへの参照)を追加しました。WebサーバーはMozillaという単語を見て満足しています。後で来た他のブラウザも同じことをしました.

    最終的には、FirefoxのレンダリングエンジンであるGeckoという単語を探し、古いブラウザとは異なるページをGeckoブラウザに提供するサーバもありました。 KHTML - もともとはLinuxのKDEデスクトップ上のKonquerer用に開発された - に「Geckoのような」という言葉が追加されたので、それらはGecko用に設計された現代のページも手に入れることになるだろう。 WebKitはKHTMLに基づいていました - それが開発されたとき、彼らは互換性の目的のためにWebKitという単語を追加し、オリジナルの「KHTML、Geckoのような」行を保持しました。このようにして、ブラウザ開発者は時間の経過とともにユーザエージェントに単語を追加し続けました.

    Webサーバーは、実際のユーザーエージェント文字列が何であるかはあまり気にしません。特定の単語が含まれているかどうかを確認するだけです。.

    用途

    Webサーバーは、以下のようなさまざまな目的でユーザーエージェントを使用します。

    • さまざまなWebページをさまざまなWebブラウザに配信する。これは、たとえば、より単純なWebページをより古いブラウザに提供するために、または悪のために、たとえば「このWebページはInternet Explorerで表示する必要があります」というメッセージを表示するために役立ちます。.
    • モバイルデバイスにスリムダウンページを表示するなど、さまざまなオペレーティングシステムにさまざまなコンテンツを表示する.
    • ユーザーが使用しているブラウザとオペレーティングシステムを示す統計を収集します。ブラウザの市場シェア統計を見たことがあるのであれば、これがどうやって取得されるかです。.

    Webクロールボットもユーザーエージェントを使用します。たとえば、GoogleのWebクローラは自分自身を次のように識別します。

    Googlebot / 2.1(+ http://www.google.com/bot.html)

    Webサーバーはボットに特別な扱いをすることができます - 例えば、必須の登録画面を通してそれらを許可することによって。 (はい、これはユーザーエージェントをGooglebotに設定することで登録画面を迂回できることを意味します。)

    Webサーバーは、robots.txtファイルを使用して特定のボット(またはすべてのボット)に注文を出すこともできます。たとえば、Webサーバーは特定のボットに立ち去るように指示したり、別のボットにそのWebサイトの特定の領域のみをインデックス付けするよう指示したりできます。 robots.txtファイルでは、ボットはユーザーエージェント文字列によって識別されます。.


    すべての主要ブラウザには、カスタムユーザエージェントを設定する方法が含まれているので、どのWebサーバがさまざまなブラウザに送信しているのかを確認できます。たとえば、デスクトップブラウザをモバイルブラウザのユーザエージェント文字列に設定すると、モバイルバージョンのWebページがデスクトップに表示されます。.