mod_deflateを使って通信を圧縮する設定をします。
圧縮するコンテンツのタイプは、htmlとcss、javascriptを対象とします。

Apacheのコンパイル

Apacheのバージョンは2.2.9を使用

httpd.confの編集

一番簡単な設定は以下の1行を追加するだけです。

特定のディレクトリ以下にだけ適用する場合は以下のように、ディレクティブ内に記述します

もう少し細かく設定もできます。

例えば、ブラウザによってはgzip圧縮に対応していない場合があるので、それらのブラウザ(ユーザーエージェント)からのアクセスされた場合には圧縮しないように設定ような場合は、以下のようになります。

続いて、正しく圧縮されているかどうかを確認するために、ログの設定を行います。

DeflateFilterNoteのInputは圧縮前のバイト数、Outputは圧縮後のバイト数、Raitoは圧縮率(Input × Output × 100)をあらわします。

設定の詳細および、その他の設定はApacheのドキュメンテーションを参照してください。

設定できたか確認する

これで基本的な設定が終了しましたので、実際に圧縮されているか確認します。

Apacheを再起動後、設定をしたページにアクセスしてdeflate_logを確認します。

ちゃんと圧縮されているようです。今回試したページでは元のサイズに対して、htmlが12%、cssが21%、javascriptが22%のサイズになりました、結構圧縮されていますね。
また、画像系のファイルは圧縮されていませんでした。

もしプロキシ経由でアクセスしている場合は設定がもう少し必要になる場合があります。

つづく