ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ


投稿日:2012年12月18日
  • 14
  • 15



根拠のある最適化を行うためにユーザーエージェントを理解しよう

ユーザーエージェントは利用者の環境を分析する上で欠かせない情報です。環境を把握すれば、サイトの内容・デザインを最適化することができます。
ブラウザ、OS、通信キャリアの特定に役立つキーワードを紹介しています。JavaScriptやPHPで割り振る際にご利用ください。


ユーザーエージェントを理解する上で欠かせない用語集

ユーザーエージェントを理解する上で必要になる用語の解説。

User Agent(ユーザーエージェント)

利用者の環境を示す情報。ブラウザ、レンダリングエンジン、OSなどバージョン情報と合わせて示すことが多い。
ユーザーエージェントの情報は仕様の変更で短くなったり、長くなったり、バージョンに関する情報も変わります。また、簡単にユーザーエージェントを偽装することもできるため、おおよそのユーザー環境を把握するに過ぎないことを理解しておいてください。

ユーザーエージェントの種類

ユーザーエージェントがどの程度の情報を示すかは各社の方針で異なりますが、大まかに以下のように分類されます。

以下IE9のユーザーエージェントを例に解説します。
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

Application Name(アプリケーションネーム)

ブラウザの種類に関する表示。しかし今では「Mozilla○○バージョン相当の機能を持つ」という意味で示される。そのため実際のエンジンはMozillaを利用していない場合がある。(例:Mozilla

Application Version(アプリケーションバージョン)

Mozillaのバージョンに関する表示。こちらもMozillaのバージョン相当という意味で示される。(例:5.0

Platform Token(プラットフォームトークン)

オペレーティング システムに関する表示。WindowsのOSは判別できることが多いが、MacはOS情報を示さないことも多いため、ユーザーエージェントだけでは判別できない場合もある。
例:Windows NT 6.1

プラットフォームトークン 説明
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
Macintosh Macintosh(Intel Mac OS X 10.7とバージョンが続く場合もある)
Mac_PowerPC Macintosh
Linux; U; Android (バージョン) Android (バージョン)

Version Token(バージョン トークン)

ブラウザとバージョンに関する表示。多くの場合がブラウザのバージョン情報をそのまま示している。Chromeなど、ライセンスの問題でSafari相当のバージョンを併記している場合もある。
例はInternet Explorer9(例:MSIE 9.0

Compatibility Flag(互換性フラグ)

compatible」と表示される、Internet Explorerの互換性を備えているかについての表示。MS系のみで表示。(例:compatible

Mozilla(モジラ)

ネットスケープ社が進めたMozillaプロジェクト。Firefoxが有名。
ユーザーエージェントではHTMLレンダリングエンジンGecko相当の機能を搭載したブラウザーという意味で表示される。
そのためGeckoを採用していないSafariやChromeでも表示されている。

Gecko(ゲッコー)

オープンソースHTMLレンダリングエンジン。Firefoxなどに採用されている。
WebKitの開発陣が元Geckoのエンジニアであることから、Geckoの技術を利用しているのか、ライセンスの問題でSafariやChromeにも「like Gecko」の表記が入る。

WebKit(ウェブキット)

アップルが中心になって開発したHTMLレンダリングエンジン。元々はUNIX系のレンダリングエンジン。MacのブラウザSafariはもちろん、Chromeにも採用されている。

KHTML(ケーエイチティーエムエル)

KDEプロジェクトにより開発されているHTMLレンダリングエンジン。
アップル開発のWebKitが当エンジンを基に開発された。そのためSafariやChromeのユーザーエージェントにはKHTMLの表記がある。


主要ブラウザのユーザーエージェント

このページでは「代表的なサンプル」と、「判別に利用できる文字列」を掲載しています。

スマートフォンやタブレットの普及により、組み合わせ次第でユーザーエージェントの種類は無数に存在します。機種まで特定するとなると、かなり複雑になってきます。
以下のサイトでは各ユーザーエージェントの組み合わせ一覧を掲載しています。参考にどうぞ。

OpenSpace userAgent(ユーザーエージェント一覧)
海外版のユーザーエージェントの一覧ページ

またJavaScriptやPHPでの振り分け方は以下のサイトで詳しく解説してくれています。ありがたく利用させていただきましょう。

JavaScriptを利用したユーザーエージェントの振り分け
jQueryを利用したユーザエージェント判別プラグイン
PHPを利用したユーザーエージェントの判別

Internet Explorer

Internet Explorer(インターネットエクスプローラー)。説明不要のMicrosoft純正ブラウザ。最近は冗長化しがちだったユーザーエージェントを省略する傾向にある。
バージョンは1~10。

Internet Explorerを特定するUA MSIE
旧タイプIE9のUAサンプル Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
新タイプIE9のUAサンプル Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

Google Chrome

Google Chrome(グーグルクローム)。Google社の開発したブラウザ。2012年現在、世界のシェアではトップ。日本ではIEに続いて2番目に利用されているブラウザ。アップルが主導して開発したWebKitをベースに開発されている。
自動で強制アップデートされるため、最新版のリリースとともに新バージョンが普及する。バージョンは1~22。WebKit相当のバージョンも併記されている。

Google Chromeを特定するUA Chrome
ChromeのUAサンプル Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11

Firefox

Firefox(ファイヤーフォックス)。MozillaプロジェクトGeckoエンジンの代表的なブラウザ。
バージョンは1~17。

Google Chromeを特定するUA Firefox
ChromeのUAサンプル Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/17.0 Firefox/17.0

Safari

Safari(サファリ)。Apple社がMac OS X用に開発のブラウザ。Appleが主導して開発したレンダリングエンジンWebKitが採用されている。かつてはOSのバージョンが独特の数字だったが、最近ではそのまま「Intel Mac OS X 10_8」と表示されるようになった。

バージョンは1~6。

Safariを特定するUA Safari(ChromeにもSafariの表記は入るため、条件分岐で「Chrome」を先に識別してから「Safari」の特定を行なってください。)
SafariのMac OS XのUAサンプル Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
SafariのiPhoneのUAサンプル Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X; ja-jp) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
SafariのiPadのUAサンプル Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X; ja-jp) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25

Opera

Opera(オペラ)。オペラ・ソフトウェアによって開発されたブラウザ。クロスプラットフォームが特徴で、Windows、Mac、Linuxなどデスクトップ用だけでなく、古くからモバイル・ゲーム機等に利用されてきた。
バージョンは1~12

Operaを特定するUA Opera
SafariのUAサンプル Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02

Lunascape

Lunascape(ルナスケープ)。Lunascape株式会社開発のブラウザ。世界唯一トリプルエンジン搭載。と謳っているように、モードの切替でユーザーエージェントはGecko、WebKit、Tridentの3種類表示される。
バージョンは1~6。現在は6系列が展開している。

Lunascapeを特定するUA Lunascape
SafariのTridentのUAサンプル Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 3.0.30729; BRI/2; Lunascape 6.5.3.24302)
SafariのGeckoのUAサンプル Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.2.18) Gecko/20110720 Firefox/3.6.18 Lunascape/6.5.3.24 302
SafariのWebKitのUAサンプル Mozilla/5.0 (Windows NT 6.0) AppleWebKit/534.24 (KHTML, like Gecko) Lunascape/6.5.3.24302 Safari/534.24

携帯またはスマートフォンのキャリア別ユーザーエージェント

キャリア(携帯会社)別に無数の携帯が販売されているため、組み合わせのパターンは膨大になります。

docomo

書式:DoCoMo/2.0機種名(キャッシュ;個体識別情報)

docomo公式のユーザーエージェント一覧ページ

docomoを特定するUA DoCoMo
docomoのUAサンプル DoCoMo/2.0 P906i(c100;TB;W24H15)

au

au公式のユーザーエージェント一覧ページ

auを特定するUA UP.Browser
auのUAサンプル KDDI-SN24 UP.Browser/6.0.8.2 (GUI) MMP/1.1

SoftBank

SoftBank公式のユーザーエージェント一覧ページ

SoftBankを特定するUA SoftBankもしくはVodafone
SoftBankのSoftBank版のUAサンプル SoftBank/2.0/109SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
SoftBankのVodafone版のUAサンプル Vodafone/1.0/V902SH/SHJ001[/Serial] Flash/VF-Flash-Lite/1.1

ゲーム機のユーザーエージェント

最近ではゲーム機にもブラウザ機能が付いています。ゲーム用のブラウザにも専用のユーザーエージェントのが存在します。

wii

wiiを特定するUA Nintendo Wii
wiiのUAサンプル wii libnup/1.0
wiiのOpera版のUAサンプル Opera/9.30 (Nintendo Wii; U; ; 2047-7;jp)

PlayStation 3

PlayStation 3を特定するUA PLAYSTATION 3
PlayStation 3のUAサンプル Mozilla/5.0 (PLAYSTATION 3; 3.55)

Playstation Portable

Playstation Portableを特定するUA PlayStation Portable
Playstation PortableのUAサンプル PSP (PlayStation Portable); 2.00
Playstation Portableの別バージョンUAサンプル Mozilla/4.0 (PSP (PlayStation Portable); 2.00)

botのユーザーエージェント

ロボット型の検索エンジンはGoogleの一人勝ちですが、ブログ専門のbotや、利用しているスペース独自のbotなどもあるため、実は今でも様々な種類のbotが存在します。

Googlebot(グーグルボット)

Googleのロボット型クローラー。これが来ないと公開していないのと同じくらい重要なbot。ニュース用、画像用、ブログ用と仕様によってユーザーエージェントが異なる。

Google公式クローラー情報

Googlebotを特定するUA Googlebot
GooglebotのUAサンプル Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
GooglebotのUAサンプル Googlebot/2.1 (+http://www.googlebot.com/bot.html)

Yahoo! Slurp(ヤフー・スラープ)

Yahoo!のロボット型クローラー。日本ではGoogleと検索で提携したため、検索エンジン用のbotは無くなったが、広告用やコンテンツの確認のためのbotが複数存在する。

Yahoo!公式クローラー情報

YahooSeekerを特定するUA YahooSeeker、Y!
YahooSeekerのUAサンプル YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)
YahooSeekerのUAサンプル Y!J-BRJ/YATS crawler

Bingbot

検索エンジンBingのロボット型クローラー。前身は「msnbot」。

msnbotからbingbotへ変更時の公式アナウンス

Bingbotを特定するUA bingbot
BingbotのUAサンプル Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

Baiduspider

百度(バイドゥ)のロボット型クローラー。

百度公式クローラー情報

Baiduspiderを特定するUA 「Baiduspider(webページ用)」「BaiduImagespider(イメージ用)」「BaiduMobaider(モバイルページ用)」
BaiduspiderのUAサンプル Baiduspider+(+http://www.baidu.jp/spider/)
BaiduspiderのUAサンプル Baiduspider+(+http://www.baidu.com/search/spider_jp.html)


現在のページを共有する



現在のページに関連する記事

ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ 迷惑ボットMJ12bot/v1.4.5によるクロールをrobot.txtで停止する方法
spam_filter.phpで特定のホストをブロック spam_filter.phpで特定のホストをブロック
ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ FirefoxへAdd-onをインストールするのに署名が必須へ
ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ ゴミ箱を空にしてもCドライブの容量が一杯なときに時の試す3つのこと
ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスターの使い方
ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ 初めてでも理解できるようになる「Firefox機能拡張の開発」
ログ解析やユーザーの振り分けに活躍する、ユーザーエージェントまとめ 初めてでも理解できるようになる「Google Chrome機能拡張の開発」

おすすめの記事

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャッシュの仕組み

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャ…

Linuxでサーバを構築するに当たって必要になる基礎知識

Linuxでサーバを構築するに当たって必要になる基礎知識

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて

ユーザーの環境変数を設定するbashの設定ファイルと、カスタム…

PukiWikiで5段階評価を付けるプラグインを作成しました

PukiWikiで5段階評価を付けるプラグインを作成しました

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザインの作り方

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザイン…

今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単語200

今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単…

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

サーバで管理していたWordPressをローカル環境に移行する方法

サーバで管理していたWordPressをローカル環境に移行する方法


いただいたコメントなど

  1. ピンバック: Gyaoを見るには | linuxmint の記録

コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください