
UA-CH /User-Agent Client Hints
2020年1月14日、Chromium 開発メンバーは、ウェブブラウザー Chromium のユーザーエージェント文字列を凍結または統合して UA-CHへ移行する計画を明らかにしました。
私の解釈では、UA-CHはUser-Agentを簡素化した文字列です。
User-Agentにセットされる文字列が個人を識別するために利用されているため(Fingerprints と表現されている)、セキュリティを確保するためにUA-CHへ移行しようと考えています。
navigator.userAgentは残ります。
- Webブラウザーの種類
 - Webブラウザーのバージョン
 - OSの種類
 - レンダリングエンジンの名前
 - ...etc
 
「Intent to Deprecate and Freeze: The User-Agent string」
We want to freeze and unify (but not remove) the User Agent string in HTTP requests as well as in `navigator.userAgent`
「非推奨および凍結の意図: ユーザーエージェント文字列」 HTTP リクエストと `navigator.userAgent` 内のユーザー エージェント文字列を凍結して統合します (ただし、削除はしません)。
yoavweiss@chromium.orgaarontag@chromium.org
User-Agent 文字列の凍結計画
下位互換性に影響を及ぼさない文字列は凍結されます。特定のモデルをターゲットにした文字列はUA-CHへ移行されます。
- ブラウザバージョン
 - OSバージョン
 
- モデル(モバイルデバイス用)
 - OSプラットフォーム
 
User-Agent の区分
brand, full version, platform architecture, model は凍結対象だと思われます。
| User-Agent | example | 
| brand | "cURL", "Edge", "The World’s Best Web Browser" | 
| major version | "72", "3", or "28" | 
| full version | "72.0.3245.12", "3.14159", or "297.70E04154A" | 
| platform brand and version | "Windows NT 6.0", "iOS 15", or "AmazingOS 17G" | 
| platform architecture | "ARM64", or "ia32" | 
| model | "", or "Pixel 2 XL" | 
| mobileness | 0 or 1 | 
主要ブラウザのUser-Agent
Blink (Chromium) vs Gecko (Firefox) vs WebKit (iOS)
主要ブラウザの記述時点の最新バージョンをインストールして、そのブラウザが吐き出す User-Agent を調査したので紹介します。
Opera は悪さをしていたことが暴露されたので調査対象から外しました。(Opera Softwareが最大876%の暴利ローンアプリで不正に荒稼ぎしてたことが判明)
| ブラウザ | version | User-Agent | 
| Google Chrome (Chromium)  | 79.0.3945.130 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck Chrome/79.0.3945.130 Safari/537.36 | 
| Microsoft Edge (Chromium)  | 79.0.309.65 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.68 | 
| Microsoft Edge | 44.18362.449.0 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363 | 
| Vivaldi (Chromium)  | 2.10.1745.27 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck Chrome/79.0.3945.131 Safari/537.36 | 
| Brave (Chromium)  | 1.2.43 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Geck Chrome/79.0.3945.130 Safari/537.36 | 
| Firefox | 72.0.2 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0 | 
| Tor Browser | 9.0.4 | Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0 | 
| Internet Explorer | 11.592.18362.0 | Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko | 
共通文字列は不要?
前項の User-Agent の文字列の中で、全てのブラウザに含まれるものまたは、共通化できる文字列は凍結または簡素化対象になると思われます。
- Mozilla
 - Windows NT
 - Chrome, Edge, Edg, Safari, Firefox
 - AppleWebKit
 - Gecko
 - Trident
 
あとがき
ブラウザを構成する主要コンポーネント、レンダリングエンジンは3種類に集約されました。
Blink は AppleWebKit から分岐した経緯があるので、User-Agentは [AppleWebKit] を使用しています。従って、AppleWebKit の文字列でブラウザ種別を判定することはできないため簡素化対象です。
Opera はBlink グループかつ China グループです。不祥事が発覚したので近い将来消滅する可能性があります。
- Blink (Chrome, Chromium-Edge, Brave, Vivaldi, Opera ...)
 - Gecko (Firefox)
 - AppleWebKit (Safari)
 
このサイトを検索 | Search this site



