Apple Safari User-Agent文字列の解析
macOSのSafari User-Agent文字列を解析して、ブラウザバージョン、WebKitエンジンバージョン、OSバージョンを抽出します。SafariのユニークなUAフォーマットを理解。
Desktop Browsers
詳細な説明
Safari User-Agent文字列の理解
macOSでのSafariのUA文字列は以下のようになります:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Safari/605.1.15
トークン解析
- Mozilla/5.0 — 標準的な互換性プレフィックス。
- (Macintosh; Intel Mac OS X 10_15_7) — OS識別子。SafariのUA文字列ではmacOSバージョンにドットではなくアンダースコアが使用されます。
- AppleWebKit/605.1.15 — Safariのレンダリングエンジン。Chrome(Blinkを使用しWebKit/537.36と報告)とは異なり、SafariはAppleが保守する実際のWebKitエンジンを使用します。
- Version/17.2 — Safariバージョン。これがSafariを識別するためのキーフィールドです。Chromeやその他のWebKitブラウザには表示されません。
- Safari/605.1.15 — WebKitバージョンに対応するSafariビルド番号。
SafariをChromeと区別する方法
ChromeとSafariの両方がAppleWebKitとSafariトークンを含みます。重要な違い:
- Safariは
Safariトークンの前にVersion/X.Yを含む - Chromeは
Chrome/X.Y.Z.Wを含み、Version/を含まない
正確なパーサーは、実際のSafariを識別するためにVersion/ + Safariを一緒にチェックする必要があります。
ユースケース
フロントエンド開発者がSafariのUA文字列を解析して、WebKit固有の動作の違い、特にbackdrop-filter、PWAサポート、Web Push通知に関するCSSの機能を検出します。Safariの独自のレンダリングエンジンは、特定の機能がChromiumブラウザとは異なる動作をすることを意味します。