Google Chrome User-Agent文字列の解析
Google Chrome User-Agent文字列を解析して、ブラウザバージョン、OS、レンダリングエンジンを抽出する方法を学びます。Windows、macOS、LinuxでのChromeをカバー。
Desktop Browsers
詳細な説明
Chrome User-Agent文字列の理解
Google ChromeはWeb上で最も広く使用されているUser-Agent文字列フォーマットを持っています。WindowsでのChromeの典型的なUA文字列は以下のようになります:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
各トークンの解析
- Mozilla/5.0 — Netscape Navigatorから引き継がれたレガシー互換性トークン。すべてのモダンブラウザがこのプレフィックスを含みます。
- (Windows NT 10.0; Win64; x64) — OSとプラットフォーム。
Windows NT 10.0はWindows 10またはWindows 11にマッピングされます。Win64; x64は64ビットシステムを示します。 - AppleWebKit/537.36 — レンダリングエンジン識別子。ChromeはBlink(WebKitのフォーク)を使用しますが、互換性のためにWebKitとして報告します。
- (KHTML, like Gecko) — もう1つのレガシートークン。KHTMLはWebKitのフォーク元であるKonquerorのレンダリングエンジンでした。
- Chrome/120.0.0.0 — 実際のChromeバージョン。最初の数字(120)はメジャーバージョンで、約4週間ごとに更新されます。
- Safari/537.36 — WebKit時代から引き継がれたレガシートークン。
異なるOSでのChrome
macOSでは、プラットフォームトークンが変更されます:
(Macintosh; Intel Mac OS X 10_15_7)
Linuxでは:
(X11; Linux x86_64)
Chrome OSでは:
(X11; CrOS x86_64 14541.0.0)
ChromeのUA文字列が冗長な理由
ChromeのUser-Agent文字列にはSafari、WebKit、Gecko、Mozillaのトークンが含まれています。この冗長性は手動での解析をエラーが起きやすくするため、専用のUAパーサーは正確なブラウザ名とバージョンを抽出するために慎重に順序付けられた正規表現パターンを使用します。
ユースケース
Web開発者やアナリティクスエンジニアがChromeのUA文字列を解析して、ブラウザバージョンごとにトラフィックをセグメント化し、新しいCSSやJavaScript機能をサポートしていない古いChromeインストールを特定し、Edge、Opera、BraveなどのChromiumベースのフォークと区別します。