ニュース

PC/Android版「Chrome」で実施済みのUA文字列削減、「Android 16」のWebViewでも開始

推奨されないUA判別を排除するとともに、ユーザーのプライバシー保護を強化

「Android 16」より「WebView」が返す既定のユーザーエージェント(UA)文字列が削減

 米Googleは12月6日(現地時間)、現在プレビュー中の「Android 16」より、「WebView」が返す既定のユーザーエージェント(UA)文字列を削減すると発表した。デスクトップ版とモバイル(Android)版では「Google Chrome 107」から実施しているが、Androidもこれに倣う。

 「ユーザーエージェント文字列」(User-Agent string)は、Webブラウザーの種類やバージョン、プラットフォーム(OS)などを特定するための機能で、古くからWeb開発者によって活用されてきた。

 しかし、特定のAPI(機能)がサポートされているかどうかを判定するために誤って利用されるケースや、自社が有利になるように他社製Webブラウザーを排除するために用いる事例が少なからずある。また、近年ではユーザーを特定する“指紋”データとして悪用される危険性(フィンガープリンティング:fingerprinting)も指摘されており、サポートの縮小とよりモダンな仕組み(User-Agent Client Hints:UA-CH)への移行が進められていた。

 短縮された新しい既定のUA文字列は、以下の通りとなる。

Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.000 Mobile Safari/537.36

 UA文字列は歴史的な事情で複雑になっているが、今後は基本的に「Chrome/125」の部分しか更新されない(メジャーバージョン以外は「0.0.0」で固定)。そのほかの部分は互換性維持のため不変で、とくに意味をなさない。OS、CPUおよびビルド情報は常に「Linux; Android 10;K」を返すため、ユーザー環境の特定には使えない。

 なお、Androidの「WebView」で閲覧していることをWebサイトから検出するには「wv」というトークンを探せばよい。また、「WebView」はv116から「UA-CH」をサポートしているが、カスタムUA文字列を返すように設定されているアプリ(setUserAgentString())は例外だ。短縮されたUA文字列も送信しない。