http の Vary レスポンスヘッダはコンテント・ネゴシエーションの基準を UserAgent に通知するために使う。
たとえば、クライアントが送信する User-Agent リクエストヘッダによって返す内容を変えているサーバがあるとする。この場合、サーバから返されたデータを proxy が素直にキャッシュしてしまうと、別の User-Agent が proxy にアクセスしたときにサーバが意図しないデータがクライアントに返されてしまう。
レスポンスヘッダに Vary: User-Agent が指定されていれば、proxy は User-Agent によって内容が変わることを知ることができるので、キャッシュをしないとか、User-Agent 毎に異なるキャッシュを保持する、といった対応ができる。
RFC2616 HTTP/1.1: ヘッダフィールド定義 13.6 ネゴシエートされたレスポンスのキャッシング
http://www.studyinghttp.net/rfc_ja/2616/sec13.html#sec13.6
RFC2616 HTTP/1.1: ヘッダフィールド定義 14.44 Vary
http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.44
たとえば、クライアントが送信する User-Agent リクエストヘッダによって返す内容を変えているサーバがあるとする。この場合、サーバから返されたデータを proxy が素直にキャッシュしてしまうと、別の User-Agent が proxy にアクセスしたときにサーバが意図しないデータがクライアントに返されてしまう。
レスポンスヘッダに Vary: User-Agent が指定されていれば、proxy は User-Agent によって内容が変わることを知ることができるので、キャッシュをしないとか、User-Agent 毎に異なるキャッシュを保持する、といった対応ができる。
RFC2616 HTTP/1.1: ヘッダフィールド定義 13.6 ネゴシエートされたレスポンスのキャッシング
http://www.studyinghttp.net/rfc_ja/2616/sec13.html#sec13.6
RFC2616 HTTP/1.1: ヘッダフィールド定義 14.44 Vary
http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.44
Vary フィールド値は、そのレスポンスが新鮮である{fresh} 間、キャッシュが再検証無しにそれに続くリクエストに対するレスポンスとして使ってよいかどうかを、完全に決定するためのリクエストヘッダフィールドのセットを示す。キャッシュできない、あるいは新鮮でなくなった{stale} レスポンスの場合、Vary フィールド値はユーザエージェントにその表現を選択するために使われた基準{criteria} について通知するために使われる。 "*" という Vary フィールド値は、キャッシュはこのレスポンスが適切な表現であるかどうかをそれに続くのリクエストのリクエストヘッダからは決定できない、という事を意味する。キャッシュにおける Vary ヘッダフィールドの使い方については section 13.6 参照。
以上の内容はhttp://sonic64.com//2004-02-06.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
モバイルやる夫Viewer Ver0.14