FirefoxとChromeのバージョン100に潜む問題

プロジェクトオーガナイザの吉田聖書よしだみふみです。

アメリカ合衆国のMozillaが2月15日に公開した記事を取り上げます。

Version 100 in Chrome and Firefox(2022/2/15 Mozilla Hacks)

これは何かというと、Webブラウザのバージョン番号に関する話題です。

昔のWebブラウザというのは Internet Explorer 4 から 5 みたいに、仕様がガラッと変わった時にメジャーバージョンが上がることはあっても、通常のアップデートでメジャーバージョンが上がることはあまりありませんでした。それが Mozilla Firefox とか Google Chrome といった最近のWebブラウザでは、頻繁にメジャーバージョンが上がるような運用になっていまして、私の環境では Firefox が97、 Chrome が98となっています。つまり、どちらのブラウザももうすぐバージョン番号が100になるということです。

Firefox も Chrome もロードマップというかリリース計画が公開されていて、 Firefox 100 の正式版(つまり安定版)の公開が今年の5月3日Chrome 100 の正式版の公開が今年の3月29日となっています。本当にもうすぐですね。

まあこれだけの話であれば、「バージョン100になっておめでとう」ということで終わりなんですが、実はバージョン100になると問題が起こる(つまり正常に利用できない)Webサイトが見つかっているということです。

それは何故か。WebサイトやWebアプリケーションによっては、ブラウザの種類やバージョンによってプログラムの処理を変えるということをしています。もちろん、1種類の処理で全てのブラウザがカバーできれば理想なんですが、実際にはブラウザの種類やバージョンによって挙動が微妙に異なりますので、(そうでなかったら色んなブラウザが存在する意味がありません!)Webサーバ側でもそれに対応したコードを書くということが普通にあります。

それでも、最近のWebブラウザは昔と違って挙動の差異が少なくなりましたので、そこまで神経質になる必要はなくなってきていますが、開発者からすると動作保証の問題で、使用できるブラウザの種類やバージョンを制限するといったケースもあります。その時、Webサーバの方ではWebブラウザの種類やバージョンを判断して、処理を分岐したり、アクセスを遮断したりといった処理を行っています。

では、どうやってWebブラウザの種類やバージョンを判断するかというと、そのやり方というのが昔から変わっていなくて、WebブラウザがWebサーバにアクセスする時に自動的に送信する「User-Agent」という通信ヘッダに設定された文字列で判断しています。そして、これまでのバージョン番号は2桁でしたけれど、今回初めて3桁が登場するので、2桁という前提で解析するプログラムがあったとすると、「バージョン100」が「バージョン10」と認識される可能性があり、実際、そのような問題のあるプログラムも見つかったと冒頭の記事では報告しています。


※ この記事は、先日公開した以下の音声コンテンツを基に編集したものです。


まあ、そういう問題があるので、WebサイトやWebアプリの開発者や保守担当者に動作確認をして対応してもらえば済む話ではあるんですが、なんと驚いたことに、 Firefox も Chrome も想定以上に被害が大きくて世の中が混乱するようであれば、プロダクトとしてはバージョン100なんだけれども、Webサーバに送信する User-Agent のメジャーバージョン番号を99のまま維持する可能性もあると書かれています。

おっと、その措置はいかがなものでしょうか。ブラウザ側の戦略としては、シェアを落としたくないという理屈は分かりますけれども、余計な処理をブラウザに組み込むということですよね。一般の利用者からすればどちらでも関係ない話かもしれませんけれども、WebサイトやWebアプリの開発者からすれば、ちゃんと問題なく実装しているのがバカバカしくなります。

これはそもそも、User-Agentヘッダに設定する文字列のルールが存在しないことが根本的な問題です。一定のルールが有るようで無いのが実情で、Webブラウザのメーカーが自由に設定することができます。各社ばらばらで、しかもバージョンによって書き方が変わることもあって、開発者からするとここを統一して欲しいと思うんですよね。HTTP/4とかHTTP/5辺りでUser-Agentヘッダの書式が標準化されないかなと、密かに願っております。



関連記事

プロマネの右腕

クロスイデアでは、新サービス・新ビジネスの 立上げや計画を中心に
プロジェクトマネジメントの支援を行っています。

新サービスの企画を任されたけど どう進めていいか悩んでいる担当者、
部下に新しい企画を任せたけど このままで大丈夫か不安な管理職の方、
以下のサイトをご参照ください。
https://www.crossidea.co.jp/services/right-hand-pmo.html

YouTubeにて動画配信中!

プロジェクトマネジメントのノウハウを
YouTubeで配信しています。
ブログと併せてご活用ください。

Comments are closed.