昨今Googleでもページのスピードをサイトの評価に取り入れる動きがあります。
そのためhttpsの通信時にgzip、deflate、または brotliといった圧縮転送の方法が現在選択肢としてあるらしいです。
その中でhtaccessの記述でgzipの設定ができるので、メモをして置こうと思います。
特定のファイルタイプだけgzip圧縮した通信にする場合
AddOutputFilterByType DEFLATE text/html text/plain text/xml
画像以外のファイルを全て圧縮を有効にする場合
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip
もし新しい画像のフォーマット(JPEG 2000、JPEG XR、WebPなど)が使用、流通したら追記する必要があります。
apacheのドキュメントサイト日本語版では以下の記述ですが、英語版が最新で上記の記述となっています。
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
これはユーザーエージェントに依存した内容の書き換えでgzipに対応していないブラウザ外す処理が入っています。
ドキュメントを熟読してご活用ください。