ネットワーク/HTTP

User-Agent Parser

User-Agent文字列をブラウザ、エンジン、OS、デバイスタイプに分解します。


                    

The User-Agent string a browser sends with every request looks like a chaotic mix of names and versions, largely because of browsers' historical habit of impersonating each other (nearly every modern browser's string still contains "Mozilla/5.0"). This tool breaks it down into browser, engine, OS, and device type.

How to use it

Common uses

Things to keep in mind

A User-Agent is entirely controlled by the client and easy to spoof — don't rely on it for security decisions.

Under the User-Agent Reduction effort, modern browsers increasingly freeze or simplify OS and device details for privacy — detection accuracy is gradually declining.

このツールに関する記事: User-Agent:Chromeの文字列に「Mozilla」や「Safari」がある理由

よくある質問

ChromeやSafariでも多くのUser-Agent文字列に「Mozilla」が含まれるのはなぜですか?

これは歴史的な名残です — ブラウザは、初期のNetscape Navigator向けに書かれた古いサーバーチェックとの互換性のため、User-Agent文字列に「Mozilla/5.0」を追加し続け、その慣習は消えることがありませんでした。

実際のブラウザとOSを検出するためのUser-Agent解析はどれくらい信頼できますか?

一般的なケースではそれなりに信頼できますが、User-Agent文字列は偽装可能であり、一部のブラウザはプライバシーのために文字列の一部を固定または簡略化しているため、検出が正確であるとは保証されません。

ここに貼り付けたUser-Agent文字列はどこかに送信されますか?

いいえ。解析はブラウザ内で完全に行われます — サーバーには何もアップロードされません。

User-Agent Client Hintsとは何ですか?

1つのUser-Agent文字列に代わる最新の仕組みです — Sec-CH-UA、Sec-CH-UA-Platformなど独立したヘッダーの集合で、サーバーが明示的にリクエストする必要があり、雑然とした1つの文字列を解析する代わりに構造化された形式で受け取れます。

一部のブラウザがUser-Agentで正確なOSバージョンやデバイスモデルを隠すのはなぜですか?

これはプライバシー保護のための「User-Agent Reduction」の取り組みの一環です — OSバージョンやデバイスモデルの詳細情報はユーザーを一意に特定する(フィンガープリンティング)ために使われる可能性があるため、ブラウザは文字列のこれらの部分を徐々に簡略化または「凍結」しています。

記事: ネットワーク/HTTP