Compress HTTP response with H2O
H2Oでレスポンスボディを圧縮して送る方法を調べました。
compress: ON
を入れるだけ。
user: h2o
access-log:
<<: !file /etc/h2o/conf.d/access-log.conf
error-log: /var/log/h2o/error.log
pid-file: /var/run/h2o/h2o.pid
expires: 1 day
compress: ON
hosts:
<<: !file /etc/h2o/conf.d/hosts_lorentzca.me.conf
<<: !file /etc/h2o/conf.d/hosts_blog.lorentzca.me.conf
<<: !file /etc/h2o/conf.d/hosts_ponpokopon.me.conf
<<: !file /etc/h2o/conf.d/hosts_ghost.ponpokopon.me.conf
圧縮対象に使われるmime type。全部圧縮対象なのかな...?
動作確認
curlでjsとかcss(圧縮対象のファイル)にAccept-Encoding
ヘッダを付けてリクエストを送り圧縮されるか確認。
- こんな感じで圧縮後のバイナリが返ってくればOK
$ curl -H "Accept-Encoding:gzip" https://blog.lorentzca.me/assets/js/index.js
UMW-V\;B?{9M`LjTjcᖹVXXmT93X+b\.jip2
W"(H"+ag^[R&Jk%w$IFv5J2~vPͶ6=+rMJgV@2BD4P%hk5r+HzĭbΑ,`a),
℞KMix+ 4}zl0Si3^N V;p.(˵ٔWD˪aSmu']ࣺ(Y{/B8/mqeJ}PI* <w]6ؠ8ðA
e~oq6bj=Zf}/:oZ'>n]U$\usĹ;~\j#߭_zxٙ_{%
✨