brotli圧縮を使う

Googleのbrotliは比較的新しいデータ圧縮形式である。zlib/gzipより高い圧縮率が望める。特にWebコンテンツの圧縮によく使われる。現在の一般的なWebブラウザはすべてbrotliに対応している。詳しいアルゴリズムはRFC 7932に掲載されている。

Apache Web Serverをbrotli対応にするには httpd.conf

<IfModule mod_brotli.c>
    AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json image/svg+xml
</IfModule>

のような感じに書いてhttpdを再起動すればよい。詳しくは mod_brotli 参照。デフォルトでは圧縮品質(0〜11)は5となる。

Webサーバがbrotliに対応しているかは

curl -I -H 'Accept-Encoding: br' https://example.com

のように打ち込んで

Content-Encoding: br

が出ればよい。

wgetはbrotliに対応していないので、より新しいwget2を使う。

wgetしか使えない場合は

wget -E --header='Accept-Encoding: br' https://example.com

のようにすれば拡張子 br が付いた形でダウンロードできる。

brotli コマンドがインストールされていれば

brotli -d *.br

で展開できる。カレントディレクトリ以下の br ファイルをすべて展開するには

find . -type f -name "*.br" -exec brotli -df {} +

とすればよい。