GooglebotはBrotliを実装しているのか
少し前に話題ですが、次期chromeが高圧縮アルゴリズム「Brotli」を実装というニュースがありました。
素朴な疑問として、googlebotは、現時点でBrotliを実装しているのでしょうか。と、その前に、圧縮についての簡単なおさらい。
圧縮はどういう手順を踏むのか
サーバーから圧縮されたデータがブラウザ(クライアント)に渡されるわけですが、その手順は下の図のようなイメージです。
リクエスト時に、クライアントからサーバーに対して、実装されているアルゴリズムが伝えられます。
その中で、サーバー側で利用可能なアルゴリズムを選択し、圧縮を行います。
GooglebotはBrotliを実装しているか?
Googlebotも、サーバーから見れば、1つのクライアントです。Googlebotがもし、圧縮アルゴリズムを実装しているのであれば、リクエスト時にアルゴリズムを伝えているはずです。
googlebotのリクエストを見られれば良いのですが、あいにく手元にデータがありません。 そういうときには、確認くんのキャッシュを利用します。
Accept-encoding: br on HTTPS connection - Chrome Platform Status
Brotli (shortname "br")
なんと、googlebotはすでに、Brotliを実装済み。(数日前はなかった気がするのですが。。。) ともあれ、現時点で、Brotliを実装しておけば、googlebotはそれを理解するということですね。 あー意外。
参考
HTTPでエンコーディングしていないコンテンツを要求siguniang.wordpress.com
accept-encodingで何も指定していなければ、UAなどで類推するよう。
圧縮を有効にする | PageSpeed Insights | Google Developers
pagespeed insightでは、「gzip形式」が指定されています。