User-Agent文字列の正体を読む
すべてのブラウザが送っていますが、今は意図的に無味になっています。トークンを解析して自称のブラウザ・エンジン・OS・デバイス種別を読みます。
このガイドで使う道具
やりたいこと
UA文字列はサーバーログ・バグ報告・分析に出てきます。「Mozilla/5.0 (iPhone; CPU iPhone OS 17_0…) AppleWebKit/605…」。目で読むと誤読しやすいため、パーサーが自称のブラウザ・バージョン・エンジン・OS・デバイス種別を取り出します。
貼って解析
自分のブラウザのUAは入力済みで、何を送っているかの確認に便利です。他の文字列を貼れば解析できます。iOSのChromeはAppleの制約でSafari系と申告します。パーサーは文字列の主張を示し、それが分かる全てです。
具体例
「…Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 … Chrome/124.0.0.0 Safari/537.36」はChrome 124・実際はBlinkエンジン・macOS・デスクトップと解析されます。末尾の「Safari」は現代のブラウザ全てが言う互換性の嘘です。
対応範囲
UA削減(Chromeはマイルストーンで凍結)とClient Hintsで、文字列は実態より少ない情報しか持ちません。偽装UAは主張どおりに解析します。真の判定にはUA解析より機能検出を使ってください。