Snap.Shot.cx

[サーバ] Squidのvaryヘッダサポート
06/20/2001 08:31 (投稿者:たかの)

時間無いのでざくざくと(メモ書きです)。
mod_gzipのML見てたら、Varyヘッダをサポートするパッチなんてのが流れてた。でも、Varyヘッダを解釈するキャッシュサーバなんて無いよなぁと思っていたら、そのものズバリ、Squid Vary header supportなんてのがあって驚いた。
完成度どれくらいなんだろう。また試したい病が…

ちなみに、「Varyヘッダ」とは何者か説明すると、これはHTTP 1.1のcontent negotiationのために追加されたもので、「送出コンテンツを決定するのに判断したヘッダが何か」を付与するものだ。
たとえば、Accept-Languageに含まれる言語に応じて日本語ページと英語ページを振り分けているページなんかで、そのままキャッシュしてしまうと「日本語を受け付けるハズなのに英語が」なんて事態になっちゃうことがあった。
で、これを解決するために、

Vary: Accept-Language

などとすると、キャッシュ側は「あぁ、Accept-Encodingによってコンテンツが変わるんだな」と判断できる。で、同じURIに対して複数のキャッシュを持つことができるようになるのだ。
Webクライアント/Webサーバの実装はそんなにむつかしくなさそうなんだけど、キャッシュに実装するとなるとエラく大変そうなこの機能。試した人はぜひレポートをお願いします。

ちなみに、ここはmod_gzipを使うようになって、Accept-Encodingによってコンテンツが分かれるようになったのだけど、Varyヘッダはついていない。ただLast-Modifiedがついておらず、キャッシュされないのでSquidやブラウザが混乱することは無い、ハズ。

メールでコメント


(Powered by Zope)
リンクはご自由にどうぞ。各記事には記事番号がついていますので、URLは変わりません。
© 2000-2013 Yukimasa TAKANO, all RIGHTs reserved.