mod_deflateを使って通信を圧縮する設定をします。 圧縮するコンテンツのタイプは、htmlとcss、javascriptを対象とします。 Apacheのコンパイル Apacheのバージョンは2.2.9を使用``` $ ./configure –enbale-deflate=shared $ make $ su
目次
make install
**httpd.confの編集** 一番簡単な設定は以下の1行を追加するだけです。
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript
特定のディレクトリ以下にだけ適用する場合は以下のように、ディレクティブ内に記述します
…
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript
もう少し細かく設定もできます。 例えば、ブラウザによってはgzip圧縮に対応していない場合があるので、それらのブラウザ(ユーザーエージェント)からのアクセスされた場合には圧縮しないように設定ような場合は、以下のようになります。
BrowserMatch ^MSIE [6-9] gzip
BrowserMatch ^Moxilla/[5-9] gzip
続いて、正しく圧縮されているかどうかを確認するために、ログの設定を行います。
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat ‘"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %{User-agent}i’ deflate
CustomLog logs/deflate_log deflate
DeflateFilterNoteのInputは圧縮前のバイト数、Outputは圧縮後のバイト数、Raitoは圧縮率(Input × Output × 100)をあらわします。 設定の詳細および、その他の設定は[Apacheのドキュメンテーション](http://httpd.apache.org/docs/2.2/mod/mod_deflate.html)を参照してください。 **設定できたか確認する** これで基本的な設定が終了しましたので、実際に圧縮されているか確認します。 Apacheを再起動後、設定をしたページにアクセスしてdeflate\_logを確認します。
$ less /usr/local/apache2/log/deflate_log
“GET / HTTP/1.1” 5464/44920 (12%) Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 “GET /favicon.ico HTTP/1.1” -/- (-%) Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 “GET /images/logo.gif HTTP/1.1” -/- (-%) Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 “GET /css/style.css HTTP/1.1” 2786/12699 (21%) Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 “GET /js/prototype.js HTTP/1.1” 22295/99938 (22%) Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 …