[WEB] mod_expiresの設定 その2 [高速化]

投稿者: | 2016年10月31日

mod_expiresの欠点として、指定した時間中にブラウザからキャッシュの生存確認のリクエストが発生しなくなるので、その間に画像などのコンテンツを更新すると、ブラウザに間違ったコンテンツが表示されるし、cssやjava scriptなどに寿命を指定しているとサイトのレイアウトが崩れたりする。

この回避策としては、画像を更新するときに下記のようにファイルの名前を変えることで運用で対応できる。こういう風に更新すればキャッシュの寿命をかなり長くしても大丈夫だと思う。

[更新前]
sample-2016-10-30.jpg

[更新後]
sample-2016-10-31.jpg

ブラウザのキャッシュとサーバー上のコンテンツが同一のものかを確認するためにEtagという仕組みを使ってファイルに固有の番号をつけて管理している。このEtagの値は、サーバーの設定によっては同一のコンテンツでも別の値になってしまう場合がある。

WEBサーバーが一台しかなければ問題がないが、ロードバランサーで負荷分散している場合に都合が悪いので、下記のようにファイルサイズを元にEtagを生成するように設定を変更して同じコンテンツであれば、どのサーバーでもEtagの値が必ず同じようになるようにしてやと良い。

FileETag Size

[WEB] mod_expiresの設定 その1 [高速化]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください