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の両方がAppleWebKitSafariトークンを含みます。重要な違い:

  • SafariSafariトークンの前にVersion/X.Yを含む
  • ChromeChrome/X.Y.Z.Wを含み、Version/含まない

正確なパーサーは、実際のSafariを識別するためにVersion/ + Safariを一緒にチェックする必要があります。

ユースケース

フロントエンド開発者がSafariのUA文字列を解析して、WebKit固有の動作の違い、特にbackdrop-filter、PWAサポート、Web Push通知に関するCSSの機能を検出します。Safariの独自のレンダリングエンジンは、特定の機能がChromiumブラウザとは異なる動作をすることを意味します。

試してみる — User-Agent Parser & Analyzer

フルツールを開く