Varyヘッダ

昔、varyヘッダがついてるとキャッシュしてくれないってな記事を書きました。
Varyヘッダの意味がよくわかっていなかったんですね。お恥ずかしい。まぁやってることは間違ってはいなかったんですが。

URIが同一でも、ヘッダ値によってコンテンツが変わる場合はVaryヘッダに変化のキーになるヘッダを列挙します。そうすると、Squidの場合だと、URIとVary(とついていればEtagも)を使ってキャッシュキーを作ります。

自分がいま管理しているサイトではURIとクッキー値、それにユーザエージェントでコンテンツがユニークになるので、こんなヘッダをつけています。

Header append Vary User-Agent,Cookie

SquidってURIだけをキーにしているんだとばかり思っていましたが、2.6あたりからVaryヘッダに対応したみたい。