ユーザーエージェント パーサー
ユーザーエージェント文字列を解析して、ブラウザー名/バージョン、オペレーティングシステム、デバイスタイプ(デスクトップ/モバイル/タブレット)、ボット検出を特定します。Chrome、Firefox、Safari、Edge、およびすべての主要なクローラーに対応しています。
Try examples:
ユーザーエージェント パーサーの使い方
- 1ユーザーエージェント文字列を入力フィールドに貼り付けるか、入力します。
- 2ブラウザー名、バージョン、オペレーティングシステム、デバイスタイプが即座に検出されます。
- 3ボットとクローラー検出により、Googlebot、Bingbot、およびその他の既知のボットが識別されます。
- 4現在のブラウザーのユーザーエージェントが事前入力されており、クイックリファレンスが可能です。
Zenovayアナリティクス
関連ツール
よくある質問
User-Agentストリングとは何ですか?どこから来ているのですか?▾
User-Agent(UA)ストリングは、ブラウザとアプリがHTTP「User-Agent」ヘッダーですべてのウェブリクエストとともに送信するテキスト識別子です。サーバーにリクエストを行っているソフトウェアが何であるかを伝えます。例:「Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36」。これはサーバーに以下を伝えます:Windows 10 64ビット、WebKit/Blinkレンダリングエンジン、Chrome 120。奇妙なフォーマット(Mozilla/5.0で始まる)は歴史的なものです。ブラウザは初期のウェブサーバーとの互換性のためにそれを採用しました。
ほとんどのブラウザがChromeであってもなぜ「Mozilla/5.0」と言うのですか?▾
ほぼすべてのブラウザのUAストリングの「Mozilla/5.0」プレフィックスは、1990年代のブラウザ戦争にさかのぼるレガシー互換性の問題です。Netscape(Mozilla)が優位にあった場合、ウェブサイトはMozillaとして識別するブラウザにのみ完全なコンテンツを送信していました。他のブラウザは完全なコンテンツを取得するためにUAストリングに「Mozilla/5.0」を含め始めました。この習慣はブラウザが進化しても普遍的になりました。最新のUAストリングは複数の識別子を重ねています:Chromeは「Chrome/version Safari/version」と言い、Safariは「Safari/version」と言います。すべてはUA検出スクリプトとの歴史的互換性のためです。
ボット検出はどのように機能しますか?▾
UA解析でのボット検出は、既知のボット署名に対するパターンマッチングを使用します:GooglebotはUAストリング内の「Googlebot」で識別され、BingbotはUAストリング内の「bingbot」で識別されます。ほとんどの正当なボットはUAで明示的に自身を識別します。このパーサーは30個以上の既知のボットをチェックします。ただし、悪意のあるボットはしばしば正当なブラウザUAストリングを偽装するため、UA ベースのボット検出はセキュリティの目的には信頼できません。分析に役立ちます(クローラーのトラフィックを除外)が、アクセス制御には役立ちません。
デバイスタイプの検出が不正確である可能性があるのはなぜですか?▾
UA ベースのデバイス検出には根本的な制限があります:(1)タブレットはしばしばモバイルデバイスとして報告されます(iPadは2019年まで、UAで「iPhone」と言っていました)。(2)DevToolsのデスクトップChrome モバイルエミュレーションはモバイルUAストリングを送信します。(3)一部のモバイルブラウザは完全なデスクトップサイトを取得するためにデスクトップUAストリングを報告します。(4)Progressive Web App(PWA)は異なるUAストリングを使用する場合があります。(5)UAストリングには画面解像度が含まれていないため、タブレットと電話を区別するのに役立ちます。信頼性の高いデバイス検出のためには、UA解析をJavaScript API と組み合わせます:navigator.userAgent、screen.width、window.innerWidth、およびタッチイベント検出。
JavaScriptやPHP、PythonでUser-Agentを取得するにはどうしたらいいですか?▾
JavaScript(ブラウザ):navigator.userAgent — 現在のブラウザのUAストリングを返します。PHP:$_SERVER["HTTP_USER_AGENT"] — HTTPリクエストから。Python(Flask):request.headers.get("User-Agent")。Python(Django):request.META.get("HTTP_USER_AGENT")。Node.js(Express):req.get("User-Agent")またはreq.headers["user-agent"]。ツールはあなたの現在のブラウザのUAを事前に入力します。それをコピーして他のデバイスでテストします。UAストリングは常にHTTPヘッダー経由でサーバー側から利用でき、JavaScriptの許可要件はありません。