Accept-Encoding
HTTP サーバーはコンテンツ ネゴシエーションを使用して、クライアントのヘッダーに基づいて ID または gzip でエンコードされた単一の URL を提供します。
ここで、クライアントと httpd の間に squid のようなプロキシ キャッシュがあるとします。
プロキシが URL の両方のエンコーディングをキャッシュした場合、どちらを提供するかをどのように決定しますか?
gzip 以外のインスタンス (元々 で提供されていないVary
) は任意のクライアントに提供できますが、エンコードされたインスタンス ( をVary: Accept-Encoding
含む) は、元の要求で使用されたのと同じAccept-Encoding
ヘッダー値を持つクライアントにのみ送信できます。
たとえば、Opera は送信します"deflate, gzip, x-gzip, identity, *;q=0"
が、IE8 は送信します"gzip, deflate"
。仕様によると、キャッシュはコンテンツがエンコードされたキャッシュを 2 つのブラウザー間で共有すべきではありません。これは本当ですか?