ユーザーエージェント(User Agent)は、ページ閲覧者がページを見るのに使っているソフトウェアを特定する情報です。使っている端末・ブラウザによって、ユーザーエージェントは異なります。
アクセス解析や端末・ブラウザ毎の表示切り替えなどに使用されます。
$_SERVER変数からユーザーエージェントを取得する
ユーザーエージェントはPHPのスーパーグローバル変数$_SERVER['HTTP_USER_AGENT']にあります。
サンプルコード
1 |
echo $_SERVER['HTTP_USER_AGENT']; |
実行結果
1 |
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 |
検索エンジンのクローラを判別する
また、ユーザーエージェントを調べることで、ブラウザーだけでなく検索エンジンのクローラも判別可能になります。
例えばGoogleのクローラは次のようなユーザーエージェントになります。(随時更新されていますので、決まっているわけではありません)
1 |
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36 |
ユーザーエージェントを使う時の注意点
ユーザーエージェントは、閲覧者が簡単に偽装することができます。そのため、偽装されることを前提としてサービスを作る必要があります。
アダプティブデザインとユーザーエージェント
現在は1つのHTMLを画面の大きさに合わせて変化させるレスポンシブ・デザインが普及しています。ですが、例えばフィーチャーフォンに対応するには、ユーザーエージェント別にHTMLを切り替えることが必要となります。
アダプティブデザインへの応用
このような、環境やコンテクスト毎に合わせたデザインを「アダプティブ・デザイン」と呼びます。
参考:レスポンシブ? アダプティブ? デザイナーにとってのベストな選択肢とは
まず、今回紹介したユーザーエージェントでレスポンシブ・デザインが利用可能かどうかを判断し、そうでないフィーチャーフォンの場合は専用のHTMLでページを作るといった対応をすることで、マルチデバイス向けのサイトを作ることができます。