chromeのData Saverに勝手に画像を圧縮されるのを防ぐ

Webにおけるマンガビューアの画像保護の実装は「サーバーからはパズル化された画像を配信、ブラウザはcanvas要素使って組み立てる」というのがメジャー。Kindleもやってる。
その際注意が必要なのはHTTPで配信する場合、ブラウザと画像配信サーバーとの間にサービス提供者の意図しないプロキシが挟まる可能性がある。たとえばData Saver - Google Chromeである。
こいつは利用者の「ギガが減る」のを防ぐため画像を勝手に圧縮する。普通の状況だったらまぁそんなに困らないけど、件の画像保護の実装をするとブラウザ側で復元できずに「筋」がはいる。
Data Saverなし
Data Saverあり
これくらいの差が出る。

解決方法

上記のサイトを見れば書いてあるが
  • HTTPSで配信する
  • Cache-Control: no-transform
のどちらかで圧縮を防ぐことができる。

感想

chromeはドキュメント公開してくれるだけマシで、少し前に話題になった通信事業者の「通信の最適化問題」に関してはopt-outできるのか調べてもわからなかった。
ちなみにモバイル版だけの機能と思われがちだが拡張が用意されているのでPCからも挙動を確認できる。