gzip圧縮転送

YSlowさんがBとかDとかうるさいのでApacheの設定をちょっとだけいじって、コンテンツをgzip圧縮して転送するようにしてみた。ついでにPHPCGI生成のページも圧縮できるようにしてみた。

Apache1.3 + mod_gzip

研究室のWWWサーバでの構成がこれだったので。httpd.confに下記を適当に編集して追加してApache再起動。

  • mod_gzip_minimum_file_size
    送信前のファイルの最小サイズ。単位は byte。
  • mod_gzip_maximum_file_size
    送信前のファイルの最大サイズ。大きすぎると転送した方が早いくらい圧縮に時間がかかるので適当に設定した方がよさげ。単位は byte。
  • mod_gzip_include
    gzip圧縮するファイルのMIME Typeやファイル名などを個別に指定する。

以下ソース。

LoadModule gzip_module modules/mod_gzip.so
AddModule mod_gzip.c
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_keep_workfiles No
mod_gzip_minimum_file_size 1024
mod_gzip_maximum_file_size 1048576
mod_gzip_maximum_inmem_size 10000
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_item_include mime "application/x-httpd-cgi"
mod_gzip_item_include mime "application/x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include file "\.shtml$"
...
</IfModule>

これでとりあえずYSlowのPerformance GradeはAに。mod_deflateはまた今度やる。