mod_deflateと合わせて設定をしておきたいmod_expireの設定について書いてみる。
ブラウザがローカルにキャッシュを持っている場合、キャッシュの生存確認のリクエストをWEBサーバーにします。そしてブラウザの持っている画像などのキャッシュと一致すると「304 not modified」とレスポンスを返すことでブラウザにローカルのキャッシュが使用できることを伝えます。
このキャッシュの生存確認のリクエストをmod_expiresを使用して、キャッシュの寿命を明示的に、示すことで設定で指定された時間の間ブラウザにキャッシュの生存確認のリクエストをさせないことができます。その結果としてブラウザのWEBサーバーへのリクエストが減りトラフィックと負荷を減らすことができます。
[設定手順]
まず前提条件として下記のモジュールがApacheに読み込まれている必要がある。
LoadModule expires_module modules/mod_expires.so
mod_expiresの設定ファイル(/etc/httpd/conf.d/expires.conf)を作成する。下記の例では画像ファイルなどにキャッシュの寿命を指定してみた、サイトによっては、cssとかjava scriptなんかもキャッシュに寿命をつけてみるといいかも。キャッシュの寿命は、訪問者の平均滞在時間ぐらいでいいと思う。
<IfModule expires_module>
<Location>ExpiresActive On
ExpiresByType image/x-icon “access plus 1 month”
ExpiresByType image/gif “access plus 10 minutes”
ExpiresByType image/png “access plus 10 minutes”
ExpiresByType image/jpeg “access plus 10 minutes”
ExpiresByType application/x-shockwave-Flash “access plus 10 minutes”</Location>
</IfModule>
[Web] mod_deflateの設定方法 Apache 2.4系 [高速化]
[WEB] mod_expiresの設定 その2 [高速化]