ユーザー エージェント文字列を理解する

このトピックでは、ユーザー エージェント文字列について説明します。ユーザー エージェント文字列は、ユーザーがアクセスする Web サイトのホスト サーバーに対して、ブラウザとシステムの特定の詳細を識別します。このトピックでは、ユーザー エージェント文字列を表示する方法、最近のバージョンの Microsoft Internet Explorer で使用されているトークンの概要、およびユーザー エージェント文字列に影響するレジストリ キーについても説明します。

このトピックには、以下の内容が含まれています。

目次

はじめに はじめに
ユーザー エージェント文字列を理解する ユーザー エージェント文字列を理解する
ユーザー エージェント文字列を表示する ユーザー エージェント文字列を表示する
Internet Explorer のユーザー エージェント トークン Internet Explorer のユーザー エージェント トークン
ユーザー エージェント レジストリ キー  ユーザー エージェント レジストリ キー

はじめに

ユーザーが Web ページにアクセスすると、そのサイトをホストしているサーバーに対して、ブラウザからユーザー エージェント文字列が送信されます。この文字列は、使用されているブラウザ、そのバージョン番号、およびシステムの詳細 (オペレーティング システムとそのバージョンなど) を示します。Web サーバーは、この情報を使用して、そのブラウザ用に最適化されたコンテンツを提供できます。

特定のサードパーティがユーザー エージェント文字列にその他の詳細を追加しているので、ユーザー エージェント文字列を理解することは重要です。この記事では、ユーザー エージェント文字列について説明し、最近のバージョンの Internet Explorer で使用されている値の一覧およびユーザー エージェント文字列を変更するレジストリ キーの詳細を示します。

ユーザー エージェント文字列を理解する

ユーザーが Web ページを要求すると、そのサイトをホストするサーバーに対してブラウザから一連のヘッダーが送信されます。各ヘッダーには、ユーザーが要求した情報を提供する最適な方法をサーバー側で決定するための詳細が含まれています。サーバーに情報を要求しているアプリケーションは、ユーザー エージェントと呼ばれるヘッダーによって識別されます。さらに、ユーザー エージェント文字列は、かっこ内に追加の詳細を含むことができます。このような追加の詳細はトークンと呼ばれ、プログラムごとに異なります。Internet Explorer は、トークンを使用して、ユーザーのコンピュータ システムに関する追加の詳細を説明します。

次の図は、Internet Explorer によってレポートされるユーザー エージェント文字列の例で、トークンがハイライトされています。

aboutuseragent_fig01.gif

歴史的な経緯から、Internet Explorer は自身を Mozilla 4.0 ブラウザとして識別します。

この例のユーザー エージェント文字列には、3 つのトークンが含まれています。

  1. 互換性フラグ ("compatible") は、最近のほとんどのブラウザで使用されています。このフラグは、Internet Explorer が機能の共通セットとの互換性を備えていることを示します。

  2. バージョン トークンは明示的にブラウザを識別し、バージョン番号を含みます。この例のバージョン トークン ("MSIE 7.0") は、Windows Internet Explorer 7 を示しています。

  3. プラットフォーム トークン ("Windows NT 6.0") は、オペレーティング システムを示し、そのバージョン番号を含みます。この例のトークンは、Microsoft Windows Vista を示しています。

この例では、Internet Explorer がユーザー エージェントです。しかし、インターネット経由でサーバーに接続する際、その他のプログラムもユーザー エージェント文字列を提供します。たとえば、Windows RSS Platform (英語) は、RSS データを要求する際、次に示すユーザー エージェント ヘッダーを提供します。

Windows-RSS-Platform/1.0 (MSIE 7.0; Windows NT 5.1)

Internet Explorer のユーザー エージェント文字列と同様に、このヘッダーは、ユーザーのシステムの詳細を提供します。

さまざまな理由から、その他のトークンがユーザー エージェント文字列に含まれることがあります。通常、これらのトークンは、システムにインストールされている追加機能を識別します。たとえば、Windows XP Service Pack 2 (SP2) がインストールされている Windows XP のユーザー エージェント文字列には、"SV1" トークンが含まれます。特定のサードパーティが独自の目的でユーザー エージェント文字列を変更する場合があることにも注意してください。

注 プライバシーを保護するために、ユーザー エージェント文字列を定期的にチェックして、その内容を確認してください。

Web サーバーに送信されるその他のヘッダーの詳細については、World Wide Web Consortium が公開している RFC 2616 のセクション 14 「Header Field Definitions」 (英語) Leave-ms.gif を参照してください。

ユーザー エージェント文字列を表示する

ブラウザのユーザー エージェント文字列を表示するには、[アドレス] バーに次のコマンドを入力します。

javascript:alert(navigator.userAgent)

大文字と小文字が区別されることに注意してください。

次の図に示すダイアログ ボックスにユーザー エージェント文字列が表示されます。

aboutuseragent_fig02.gif

ヒント 最新バージョンの Windows では、このダイアログ ボックスを閉じる前に Ctrl キーを押しながら C キーを押すと、ユーザー エージェント文字列をクリップボードにコピーできます。

Internet Explorer のユーザー エージェント トークン

このセクションでは、最新バージョンの Internet Explorer で使用されているトークンの概要について説明します。既定では、3 つのトークンがユーザー エージェント文字列に配置されます。

  1. バージョン トークン

  2. プラットフォーム トークン

  3. 特徴トークン

次の表に、最新バージョンの Internet Explorer で使用されているバージョン トークンの一覧を示します。一般的に、バージョン トークンは "MSIE" で始まり、その後にブラウザのバージョン番号が続きます。多くのプレリリース バージョンでは、バージョン番号に "b" が付けられています。

バージョン トークン

説明

MSIE 7.0

Internet Explorer 7

MSIE 7.0b

Internet Explorer 7 (Beta 1 プレリリース バージョンのみ)

MSIE 6.0

Internet Explorer 6

MSIE 6.0b

Internet Explorer 6 (プレリリース)

MSIE 5.5

Internet Explorer 5.5

MSIE 5.01

Internet Explorer 5.01

MSIE 5.0

Internet Explorer 5

MSIE 5.0b1

Internet Explorer 5 (プレリリース)

MSIE 4.01

Internet Explorer 4.01

プラットフォーム トークンは、オペレーティング システムを説明します。次の表に、最近のバージョンの Windows を示す Internet Explorer のプラットフォーム トークンの一覧を示します。

プラットフォーム トークン

説明

Windows NT 6.0

Windows Vista

Windows NT 5.2

Windows Server 2003; Windows XP x64 Edition

Windows NT 5.1

Windows XP

Windows NT 5.01

Windows 2000, Service Pack 1 (SP1)

Windows NT 5.0

Windows 2000

Windows NT 4.0

Microsoft Windows NT 4.0

Windows 98; Win 9x 4.90

Windows Millennium Edition (Windows Me)

Windows 98

Windows 98

Windows 95

Windows 95

Windows CE

Windows CE

ユーザー エージェント文字列は、一部のオプション コンポーネントによって変更されることもあります。次の表に一般的なトークンを示します。また、ユーザー エージェント文字列は、多くのサードパーティによって変更される場合があることにも注意してください。そのため、包括的な一覧というものは存在しません。この表に含まれないトークンがユーザー エージェント文字列で見つかった場合、その詳細を確認することをお勧めします。

トークン

説明

.NET CLR

.NET Framework 共通言語ランタイム。後にバージョン番号が続きます。

SV1

強化セキュリティ機能を含む Internet Explorer 6 (Windows XP SP2 および Windows Server 2003 のみ)

Tablet PC

タブレット サービスがインストールされています。数値はバージョン番号を示します。

Win64、IA64

システムに 64 ビット プロセッサ (Intel) が搭載されています。

Win64、x64

システムに 64 ビット プロセッサ (AMD) が搭載されています。

WOW64

64 ビット プロセッサ上で 32 ビット バージョンの Internet Explorer が実行しています。

ユーザー エージェント レジストリ キー

HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)

          SOFTWARE

                   Microsoft

                            Windows

                                     CurrentVersion

                                              Internet Settings  

                                                       User Agent

                                                                Pre Platform

                                                                         Token = Value 

                                                                Post Platform  

                                                                         Token = Value 

Pre-Platform および Post-Platform キーには、それぞれ Platform トークンの前後に名前が表示される値が含まれます。たとえば、文字列値が Post-platform キーに追加された場合、その名前がユーザー エージェント文字列の Platform トークンの後に表示されます。いずれかのキーに複数のトークンが追加された場合、これらのトークンが表示される順序は予測できません。

また、ユーザー エージェントの特定のトークンは、以下のレジストリ キーに値を追加することによってオーバーライドできます。

HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)

          SOFTWARE

                   Microsoft

                            Windows

                                     CurrentVersion

                                              Internet Settings

                                                       5.0

                                                                User Agent

                                                                         (既定)= "Mozilla/4.0"

                                                                        Compatible= "compatible"

                                                                        Platform= "Windows NT 5.1"

                                                                        Version= "MSIE 6.0"

                                                                         Pre Platform 

                                                                                  Token = Value 

                                                                         Post Platform  

                                                                                  Token = Value 

ユーザー エージェント文字列でレポートされたアプリケーション名およびアプリケーション バージョンのトークンは、ユーザー エージェント キーの既定値によって置き換えられます。最初の 7 文字がアプリケーション名を示すために使用され、残りの文字がアプリケーション バージョン トークンを指定します。

Compatible、Platform、および Version の値によって、ユーザー エージェント文字列内の対応するトークンが置き換えられます。

レジストリ エディタで Pre Platform または Post Platform キーの下に新しい文字列値を作成して、その他のトークンをユーザー エージェント文字列に追加できます。値の名前は、完全なトークンである必要があります (値のデータは無視されます)。Pre Platform キーに追加されたトークンは、最終的なユーザー エージェント文字列のプラットフォーム トークンの前に表示されます。Post Platform キーに追加されたトークンは、最終的なユーザー エージェント文字列のプラットフォーム トークンの後ろに表示されます。Pre Platform または Post Platform キーのいずれかに複数のトークンを追加した場合、その表示順序は予測できません。

これらのキーを作成したときにブラウザが開いていた場合、変更は、すべてのブラウザ ウィンドウを閉じるまで有効になりません。これには、WebBrowser コントロール (英語) をホストするアプリケーションも含まれます。WebBrowser コントロールをホストするアプリケーションは、Internet Explorer のユーザー エージェント文字列を変更することなく Internet Explorer のユーザー エージェント文字列オーバーライドすることがあります。詳細については、「PRB: WebBrowser コントロール クライアントは、グローバル設定を共有します。」を参照してください。