はじめに(ユーザーエージェントとは、簡単に言うと・・・)

まず簡単にユーザーエージェント(UserAgent)について説明します。

ユーザーエージェント(UserAgent)とはウェブサイトに訪問する際「Google Chromeからアクセスしています」「iPhoneからアクセスしています」などのどんな環境でアクセスしているのかの利用者の情報のことを言います。
ウェブサイトにアクセスする際にはこのユーザーエージェントを必ず送ることになっています。

以下、詳細の説明です。

 

ユーザーエージェント(UserAgent)の一般的な概念

昨年GoogleウェブマスターブログでiPhone向けのロボットが発表されました。
参照:Google ウェブマスター向け公式ブログ: スマートフォン版 Googlebot-Mobile の導入について

この発表の際に聞かれたのが「ユーザーエージェントってなんですか?」。

調べても分からなかったとのことで「ユーザーエージェントとは」の上位サイトを確認してみたところ・・・

1位

ユーザーエージェント (User agent、略称UA(ユー エー))とは、利用者があるプロトコルに基づいてデータを利用する際に用いるソフトウェアまたはハードウェアを指す。「利用者エージェント」とも言う。
HTTPを用いてWorld Wide Webにアクセスするための「ウェブブラウザ」が代表的なユーザーエージェントの1つであるが、「ユーザーエージェンt(ry
Wikipedia「ユーザーエージェント」

2位

ユーザーエージェントとは、Webサイトへのアクセスの際に使用されるプログラムのことである。

HTMLを解釈して画像化し、Webサイトとしてディスプレイに映し出すためのレンダリングを行い、ディスプレイに画像・文字などを表示するためのWebブラウザや、検索用データベーs(ry
ユーザーエージェントとは – IT用語辞典 Weblio辞書

うん、激しくわかりにくい。
というわけで、若干大まかな説明なのですが簡単にまとめてみました。

 

日常生活に例えてみる

まずユーザーエージェントのことを一旦頭から外しましょう。
普段、みなさんが家を訪問する際にいきなり家のドアを開けることはないと思います。
まず最初に自分の名前を名乗りますよね。

realhouse

玄関で「山田です」など名乗っています。
で、家の主人が「あら、山田さん。お待ちしていました。正は2階にいるので上がってくださいな」とか言って、招き入れてくれるわけですね。

 

webも同じような仕組み

ブラウザを何となく開いて、何となくサイトを見ることが多いかと思うのであまり意識はしないのですが、実はアクセスする際もこの「名乗り」があります。

web
 

各々のユーザーが「InternetExplorerです」など名乗っています。
その「名乗り」がユーザーエージェントです。

web2

 

ちなみに簡易的に表現しましたが実際のユーザーエージェントはこんな感じ。

「GooglebotのiPhone版ロボットです」
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

「docomoのSH901iCです」
DoCoMo/2.0 SH901iC(c100;TB;W24H12)

 

何が出来るの?

ウェブサイト側で「このユーザーエージェントはこっちのページを見せる」などを設定できます。
例えば

・PCサイト/モバイルサイト/スマートフォンサイトの振り分け
・flashサイト/flash非対応サイトの振り分け

など。

webside_action

こんな感じです。
ユーザーの名乗りを聞いてから適切なところに誘導ができます。

 

応用編(ユーザーエージェントの偽装)

firefoxのアドオンなどでユーザーエージェントの偽装をすることも可能。

参照:User Agent Switcher :: Add-ons for Firefox

これを使用することで、firefoxのブラウザで「SH901iCです」などと名乗りを偽ることができます。
そうすると、モバイルサイトの閲覧がPCでできることがあります。

※完全に「閲覧ができる」と書いていないのはユーザーエージェント以外にも制限の方法があり、別の設定で制限をかけられていると閲覧することができないためです。
※ちなみにGoogleなどの検索クローラーもUserAgentの偽装を使っています。なのでGooglebotのiPhone版が出たからといって、実際にiPhoneからアクセスしているわけではありません。 

 

以上、簡単ではありますが、もしかしたら需要があるかもと思いまとめてみました。
ご意見・ご指摘等あればよろしくお願いいたします!

 

※おまけ
UserAgent調べる君(今現在のUserAgentをチェックできます。いろんな端末でアクセスしてみると面白いです)
http://www.baka-ke.com/lab/useragent.php