Chrome のユーザーエージェントは User-Agent Client Hints へ移行する模様

このサイトを検索 | Search this site
ninja_cloud192.png

UA-CH /User-Agent Client Hints

2020年1月14日、Chromium 開発メンバーは、ウェブブラウザー Chromium のユーザーエージェント文字列を凍結または統合して UA-CHへ移行する計画を明らかにしました。

私の解釈では、UA-CHはUser-Agentを簡素化した文字列です。

User-Agentにセットされる文字列が個人を識別するために利用されているため(Fingerprints と表現されている)、セキュリティを確保するためにUA-CHへ移行しようと考えています。

navigator.userAgentは残ります。

[User-Agentが送信する情報]
  • Webブラウザーの種類
  • Webブラウザーのバージョン
  • OSの種類
  • レンダリングエンジンの名前
  • ...etc
Intent to Deprecate and Freeze: The User-Agent string

「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.org
aarontag@chromium.org


User-Agent 文字列の凍結計画

search_mushimegane

下位互換性に影響を及ぼさない文字列は凍結されます。特定のモデルをターゲットにした文字列はUA-CHへ移行されます。

下位互換性に影響を及ぼさない文字列(凍結対象)
  • ブラウザバージョン
  • OSバージョン
特定のモデルをターゲットにした文字列(UA-CH 移行対象)
  • モデル(モバイルデバイス用)
  • OSプラットフォーム

User-Agent の区分

brand, full version, platform architecture, model は凍結対象だと思われます。

user-agent-xx
User-Agentexample
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"
mobileness0 or 1

主要ブラウザのUser-Agent

browser_search

Blink (Chromium) vs Gecko (Firefox) vs WebKit (iOS)

主要ブラウザの記述時点の最新バージョンをインストールして、そのブラウザが吐き出す User-Agent を調査したので紹介します。

Opera は悪さをしていたことが暴露されたので調査対象から外しました。(Opera Softwareが最大876%の暴利ローンアプリで不正に荒稼ぎしてたことが判明)

2020/01/23
ブラウザversionUser-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 Edge44.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
Firefox72.0.2 Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Tor Browser9.0.4 Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0
Internet Explorer11.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

あとがき

browser_search

ブラウザを構成する主要コンポーネント、レンダリングエンジンは3種類に集約されました。

Blink は AppleWebKit から分岐した経緯があるので、User-Agentは [AppleWebKit] を使用しています。従って、AppleWebKit の文字列でブラウザ種別を判定することはできないため簡素化対象です。

Opera はBlink グループかつ China グループです。不祥事が発覚したので近い将来消滅する可能性があります。

[ブラウザとレンダリングエンジン]
  1. Blink (Chrome, Chromium-Edge, Brave, Vivaldi, Opera ...)
  2. Gecko (Firefox)
  3. AppleWebKit (Safari)
検証:Chrome, Edge, Firefox, Vivaldi, Brave, Tor Browser, IE
SC2
Windowsランキング 将棋ランキング スマホ・携帯ランキング にほんブログ村 IT技術ブログ ライフハックへ にほんブログ村 その他趣味ブログ 将棋へ

このサイトを検索 | Search this site