【技術メモ】ETag属性を無効化してパフォーマンスを向上させる
ETagとは
ETagとは、WEBサーバが発行するHTTPのレスポンスヘッダ属性のひとつ
ETagのしくみ
- ブラウザからのHTTPリクエスト時にETagを送信
- レスポンスが"304"なら、ブラウザキャッシュを表示
- レスポンスが"200"なら、サーバからコンテンツを取得
- ETagは、iノード番号・最終更新時刻・サイズから計算される
- 同じコンテンツでもサーバが違うと別のTagとなる
- 一応、iノード番号を条件から外すことは可能
パフォーマンス向上
- サーバが違うとTagが変わるので、負荷分散環境では効果が微妙
- iノードを外したとしても、同時刻・同サイズでETag一致するのでやっぱり微妙
- ETagの確認のための通信がむしろムダ
ということで、ETagを無効化すると、パフォーマンスが向上する場合があるという理論