ユーザーエージェント
【英】User Agent
ユーザーエージェントとは、Webサイトへのアクセスの際に使用されるプログラムのことである。
HTMLを解釈して画像化し、Webサイトとしてディスプレイに映し出すためのレンダリングを行い、ディスプレイに画像・文字などを表示するためのWebブラウザや、検索用データベースを作成するためにWebサイトを巡回するクローラ、利用しているOSなども、ユーザーエージェントに含まれる。携帯電話向けサイトを閲覧する場合にも、この用語が使われる。
HTTPではリクエスト中に、クライアント側から使用しているWebブラウザ、バージョンなどの情報を申告する。アクセス解析ツールにおいて、Webサイトにアクセスしたユーザーのブラウザが分かってしまうのはこのためである。ただ、あくまでクライアント側からの自己申告の情報であるため、文字列を書き換えることにより、これを偽装することも可能である。
ユーザーエージェント
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/22 16:35 UTC 版)
ユーザーエージェント (英: user agent、日: 利用者エージェント[1][2])とは、利用者があるプロトコルに基づいてデータを利用する際に用いるソフトウェアまたはハードウェアのこと。
特にHypertext Transfer Protocolを用いてWorld Wide Webにアクセスする、ウェブブラウザなどのソフトウェアのこと。
本項ではHTTPユーザーエージェントについて解説する。
HTTPユーザーエージェント
HTTPを用いてリソースの取得等を行うユーザーエージェントをHTTPユーザーエージェントと呼ぶ。
HTTPユーザーエージェントには、ウェブブラウザや、リソースを自動的に処理するクローラなどがある。
HTTPリクエストでのUser-Agentヘッダ
HTTPではUser-Agentヘッダーが定義されている。 クライアントはサーバーにリクエストを送る際に、ユーザーエージェントの情報をUser-Agentヘッダーとして送信する。User-Agentヘッダーには、アプリケーション名、バージョン、ホストオペレーティングシステムや言語といった情報が含まれる。 ウェブクローラーのようなボットの場合は、ウェブ担当者がそのボットのオペレーターと連絡を取ることができるように、URLや電子メールアドレスも含む。
User-Agentヘッダーはサーバ側において様々な用途で利用されている。
アクセス解析をする際に、User-Agentヘッダーによって、ユーザーが使用しているブラウザの種類やバージョンを集計することができる。
またUser-Agentヘッダーを偽装して、「ロボット排除基準」 (robots.txt)を使ってある特定のページあるいはウェブサイトの一部からクローラーを排除するための基準の1つになっている。ウェブ担当者は、特定のクローラーに特定のページを収集させたくない場合や、特定のクローラーがあまりに多くの帯域を消費している場合などに、そのクローラーがそれらのページを訪問しないように要請することができる。
ただし、後述のように、User-Agentヘッダーの値はあくまでクライアント側からの自己申告なので、 実際のユーザーエージェントと異なる値を送信することもできる。
ユーザーエージェント・スニッフィング
ユーザーエージェント・スニッフィングとは、Webサイトが、ユーザーエージェントによって異なる内容を表示したり、 特定のユーザーエージェントにのみ内容を表示することである。Vivaldiはこのような問題を回避するため、Chromeのユーザーエージェントを使用している[3]。
マイクロソフトのOutlook 2003ウェブアクセスは悪名高い例であった。Internet Explorerで閲覧すると、他ブラウザより多くの機能が表示された。
携帯電話向けのウェブサイトでは、ベンダー間や新旧の機種の間で、携帯電話のブラウザの仕様がしばしば大きく異なるため、ユーザーエージェント・スニッフィングが行われた(後述のようにUser-Agentヘッダーの偽装が容易に可能であるため、IPアドレスをもとに携帯電話か否かを判断していることもあった)。機種間の表示の内容の違いは、小さい(例えば小さいスクリーンに合うように特定の画像のサイズを変える)こともあるし、あるいは非常に大規模のこともあり得る(例えばXHTML の代わりにWMLでページを表現する)。
ユーザーエージェントの偽装
ユーザーエージェント・スニッフィングを回避するために、User-Agentヘッダーの偽装が行われた。
この最も早い例はInternet Explorerが、 Mozilla/<version> (compatible; MSIE <version>... で始まるUser-Agentヘッダーの値を使っていたことであろう。「Mozilla」はNetscape Navigatorのコードネームである。これは、その当時のInternet Explorerの主たる競合者だったNetscape Navigator用の内容を受け取るためだった。
その後、ブラウザ戦争においてInternet Explorerのシェアが拡大したために、User-Agentヘッダーの値のフォーマットは、部分的に他のブラウザによってコピーされていった。
Mozilla Firefox 、 Safari や Opera のようなInternet Explorerの競合製品は、 User-Agentヘッダーなどのをユーザー側の操作で変更できる機能を備えていた。 この機能はInternet Explorer専用に設計されたWebサイトを利用する場合に使用された。 ただし、WebサイトがInternet Explorerの独自機能を使用しているために、User-Agentヘッダーを偽装しても正常に使用できないことも多かった。
Webブラウザ以外に、大部分のダウンロードマネージャーやオフラインブラウザもUser-Agentヘッダーをユーザーの好みに変える機能を持っている。
2020年の時点では、多くのウェブサイトがウェブ標準に従うようになっている。
暗号強度「U」/「I」/「N」
Netscape、Mozilla、Opera、その他一部のブラウザでは、ブラウザの暗号強度を示すためにU, I, Nの3個の文字を使用する。米国政府は40ビットを越える暗号をアメリカから国外へ輸出することを認めていなかったので、暗号強度が異なるバージョンがリリースされた。
暗号強度はUser-Agentヘッダーで確認できた。「U」は「USA」を表し、128ビットの暗号化を備えたバージョンであることを示す。「I」は「international(国際的)」のiであり、40ビットの暗号化を備えており、世界中のどこでも使用できることを示す。「N」は「none(無し)」を表し、暗号化を行わない。
元は、「U」バージョンはアメリカ国内からのみダウンロードが許可されていたが、その後米国政府が方針を緩めたので、今では高い暗号化をするバージョンがほとんどの国々で許されている。現在では国際版がもはや要求されないので、NetscapeとMozillaは「U」バージョンのみを配布している。
Session Initiation Protocolのユーザーエージェント
SIPを解釈して処理する各種端末のソフトウェアやハードウェア。SIPに対応したIP電話機やVoIPゲートウェイ。
関連項目
脚注
- ^ JISX0032 1999, p. 4.
- ^ JISX4156 2005, p. 5.
- ^ “もうVivaldiとは名のらない「Vivaldi」最新版、Webサイト互換性アップ”. マイナビニュース (2019年12月22日). 2020年3月10日閲覧。
参考文献
- JIS X 0032:1999「情報処理用語−電子メール」(日本産業標準調査会、経済産業省)
- JIS X 4156:2005「ハイパテキストマーク付け言語 (HTML)」(日本産業標準調査会、経済産業省)
外部リンク
- Panopticlick - 使用中のブラウザのユーザーエージェントがどの程度、個人の判別に使われ得るかを判定する電子フロンティア財団内のページ。
ユーザーエージェント
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/25 00:57 UTC 版)
「Mozilla Application Suite」の記事における「ユーザーエージェント」の解説
「Mozilla」はNetscapeやInternet Explorerの「User-Agent:」フィールドのキーワードにもなっている。ネットスケープ・コミュニケーションズの初期の社名はMosaic Communicationsといい、Mozillaという名称は、同社がブラウザ「Mosaic」(NCSA Mosaicとは異なる)を開発中に、Mosaicと日本の怪獣映画ゴジラを合成してコードネームとしてつけられたのが起源である。NCSA Mosaicで知られる NCSA の圧力により、社名も製品名もMosaicからNetscapeに改名を迫られた経緯との関係なのか、Netscapeの初期のバージョンのREADMEには「N-e-t-s-c-a-p-eと書いてMozillaと読む」との記述があった。開発者などの間ではNetscapeをMozillaと呼ぶ場合もあり、User-Agent:フィールドやドキュメントの表記はそのまま残されているものもある。 Internet Explorerが User-Agent: フィールドでMozillaを名乗っている事情は、リリース当時Netscapeが普及しており、ウェブサイトもほとんどがNetscape用につくられていたことによる。後発でリリースされたInternet ExplorerはNetscape用につくられたウェブサイトのJavaScriptやCGIなどが動作するよう、類似のUser-Agent:フィールドを名乗るようにした。現在[いつ?]もInternet Explorerをはじめとする多くのグラフィカルなブラウザは「Mozilla」という名前を含んだUser-Agent:フィールドを利用したままであり、そのため、ブラウザ判定は別の部分で行わなければならない。
※この「ユーザーエージェント」の解説は、「Mozilla Application Suite」の解説の一部です。
「ユーザーエージェント」を含む「Mozilla Application Suite」の記事については、「Mozilla Application Suite」の概要を参照ください。
- ユーザーエージェントのページへのリンク