User-Agent を 解析
User-Agent 文字列を解析して、ブラウザ・OS・デバイス種別・レンダリングエンジンを検出します。無料・即時・完全クライアントサイド。
User-Agent 文字列を解析して、ブラウザ・OS・デバイス種別・レンダリングエンジンを検出します。無料・即時・完全クライアントサイド。
User-Agent 文字列は、ブラウザや他のクライアントがサーバーに自分自身を識別するために送信する HTTP ヘッダーです。元々は短い識別子でしたが、最近のユーザー エージェントは、特定のブラウザを嗅ぎ分けるサイトとの下位互換性を目的に設計された、過去のバージョン文字列を無秩序に連結したものです。現在の典型的な Chrome ユーザー エージェントは、Mozilla、AppleWebKit、KHTML、Gecko、Chrome、Safari を参照していますが、そのほとんどは名残です。
ユーザー エージェントを解析すると、この密な文字列から実際のブラウザ、バージョン、OS、デバイス タイプが抽出されます。データは、分析、機能検出、ボットの識別に役立ちます。また、これは不完全です。ユーザー エージェントがなりすまし、実際のブラウザ エンジンを偽ったり、現実から遅れたりする可能性があります (すべての iOS ブラウザが WebKit を使用する必要があるため、iOS 上の Chrome は Safari として報告されます)。
このパーサーはパターン マッチングを使用して、ユーザー エージェント文字列から一般的なブラウザ、オペレーティング システム、およびデバイス カテゴリを識別します。出力には、ブラウザーの名前とバージョン、オペレーティング システムとバージョン、デバイスの種類 (デスクトップ、モバイル、タブレット、ボット)、レンダリング エンジンが含まれます。解析はブラウザ内で行われます。データはどこにも送信されません。
分析、デバッグ、セキュリティのワークフローはすべて、生のユーザー エージェント文字列から構造化データを抽出することで恩恵を受けます。何百万ものユーザー エージェントを含むサーバー ログは、それぞれがブラウザー/OS/デバイスのフィールドに解析されると扱いやすくなります。ユーザー エージェントをリストしたバグ レポートは、どのブラウザーとバージョンが関係しているかをすぐに確認できるため、対処が容易になります。
ボットの検出は、最初の信号としてのユーザー エージェントの解析にも依存します。多くのクローラーは正直に自分自身を識別します (Googlebot、Bingbot、GPTBot)。他のものは Chrome を偽装しますが、微妙なヒントが含まれています。解析は、これらのパターンを明らかにするのに役立ちます。
ユーザー エージェントを貼り付けて、構造化データを確認します。
ユーザー エージェントの解析は基本的に、正規表現ルールの大規模なライブラリに対するパターン マッチングです。ブラウザ検出では部分文字列 (Chrome、Firefox、Safari、Edge) が使用され、OS 検出ではプラットフォーム トークン (Windows NT 10.0、Mac OS X、Linux、Android、iPhone OS) が検索され、デバイス検出では OS とフォームファクタ ヒントが組み合わせられます。
解析では順序が重要です。 Edge ユーザー エージェントには Chrome トークンと Safari トークンが含まれるため、Edge のチェックは Chrome より前に行う必要があります。 Brave、Vivaldi、Opera はすべて Chromium をフォークしており、同様の問題を抱えています。成熟した解析ライブラリ (ua-parser-js、ua-parser) は、曖昧さを正確に解消するために順序付けされたルール リストを維持します。
User-Agent Client Hints (UA-CH) は最新の代替品です。構造化された Sec-CH-UA ヘッダーが従来の User-Agent を置き換えます。ブラウザーは徐々に従来の文字列を凍結し、UA-CH に移行しています。新しい解析では両方をサポートする必要があります。