ブラウザー・デバイスについて
User-Agentとは
ブラウザーが公開するUser-Agent文字列と、判定精度の注意点を解説します。
更新日: 2026年10月9日
User-Agentは、ブラウザーが自身や互換性のあるSoftware、OSなどを表す文字列です。JavaScriptではnavigator.userAgentから確認できます。
NetKarteでの見方
現在の文字列はNetKarteのブラウザーカードで確認できます。
ブラウザー CardのUser-Agentはnavigator.userAgentをそのまま表示します。NetKarteは同じ文字列をブラウザー名とOSの簡易判定にも使用します。Serverへ届くHTTP User-Agent Headerとは通常近い値ですが、取得場所が異なります。
どう読むか
文字列にはMozilla、AppleWebKit、Chrome、Safariなど複数のTokenが含まれることがあります。これは歴史的な互換性の結果で、含まれる全製品を実際に利用しているという意味ではありません。
注意点
User-Agentは偽装可能で、ブラウザーによる情報削減もあります。デバイスや個人の確実な識別、Access制御、Security判断の根拠として単独使用すべきではありません。
複数のブラウザー名が含まれる理由
User-AgentにChromeとSafariの両方があっても、2つのブラウザーを同時に使っている意味ではありません。互換性を維持するための表記が混在します。製品名を探すだけでなく、ブラウザー自身のバージョン画面と照合してください。
NetKarteではブラウザーカードの文字列を確認し、必要ならHTTP情報のUser-Agentと比較できます。片方はページのJavaScript、もう片方はサーバーが受け取ったリクエストであり、書換えや取得時点の違いを考慮します。不一致だけで攻撃とは判断できません。問い合わせへ共有するときは、OSなどの環境情報を含む文字列だと理解して扱ってください。
参考資料
- IETF / RFC Editor: RFC 9110: HTTP Semantics (外部サイト)確認日: 2026-10-09
- MDN Web Docs: Navigator (外部サイト)確認日: 2026-10-09
- MDN Web Docs: Browser detection using the user agent (外部サイト)確認日: 2026-10-09