Brotliでの配信を試みた
mod_deflateでキャッシュが無効化されちゃってた件で、静的.jsと.cssを事前にgzip化して配信するようにしたが、
Gzipより圧縮率の高いBrotliってのを知ったので試してみた。
brotliコマンドはメインPCに元々入っててgzipコマンドと似たような使い方。
で、たしかにgzipと比べて20%くらいファイルサイズが小さくなった。
Apacheにmod_brotliってモジュールがあるようだが、これはmod_deflateみたいなもん?
事前圧縮したファイルをmod_rewriteで配信するのに別途モジュールは要らないよね?
mod_rewriteでgzipと同じように設定して試してみたが、
FirefoxのAccept-Encodingヘッダにbrが無い・・・
Chromiumでもbr無い・・・
どうも、普及率が低いと見込まれてるから?HTTPSの時じゃないとヘッダ省略されてるみたい。
というわけでbrotli使うのはやめたのだが、
実験中にChromiumのデベロッパーツールでネットワーク確認してたら、
304になるはずのレスポンスが200になってる・・・
リクエストにIf-Modified-Sinceヘッダが無い。
調べてたらChromeはCache-Controlヘッダつけないとキャッシュが有効にならないとかで試したりしたが、関係ない。
気づいたんだが、デベロッパーツールでネットワークのところで、
200 (from disk cache)
200 (from memory cache)
とか書いてある。
これ、200がレスポンスされてるんじゃなくて、リクエストすら送らずに前回のレスポンスを表示してるんだね。
必要な処理を省略したインチキブラウザのせいでハマったわ・・・