サーバーが を返した場合、http クライアントは何をすべきCache-Control: private, public
ですか?
private
をオーバーライドする必要があると感じていますpublic
が、RFC で確認を見つけることができません ( MUST
inprivate
とMAY
in以外public
)。
サーバーが を返した場合、http クライアントは何をすべきCache-Control: private, public
ですか?
private
をオーバーライドする必要があると感じていますpublic
が、RFC で確認を見つけることができません ( MUST
inprivate
とMAY
in以外public
)。
http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p6-cache-20.html#rfc.section.3はかなり明確だと思います。「プライベート」というラベルが付いている場合は、プライベートと見なす必要があります、「公開」の有無に関係なく
実用的な観点からは、注意を怠って「プライベート」に扱ってください。
そうすれば、お粗末なサーバーに少し余分なネットワーク トラフィックが発生しますが、ユーザーの (潜在的にプライベートな) データを安全に保つことができます。
このコンテキストでは、プライベート キャッシュ コントロールを使用して、単一のユーザー マシンのデータをキャッシュおよび保存し、ネットワーク全体で処理しないようにします。
一方、パブリック キャッシュ コントロールは、サーバーからクライアント マシンにデータを格納し、クライアント マシンが接続されているネットワーク全体でデータを共有するために使用されます。
このコンテキストでは、プライベート キャッシュ コントロールを使用して、単一のユーザー マシンのデータをキャッシュおよび保存し、ネットワーク全体で処理しないようにします。
一方、パブリック キャッシュ コントロールは、サーバーからクライアント マシンにデータを格納し、クライアント マシンが接続されているネットワーク全体でデータを共有するために使用されます。
http://www.totalworkflow.co.uk/サーバー応答の詳細を含む以下の例を参照してください。
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: .ASPXANONYMOUS=TV4owqs-zQEkAAAAZmFhNDI5NDQtZmFmMi00Y2Q3LWI4NDctYTE0NDg5MzAwNjg20; expires=Wed, 30-May-2012 21:32:48 GMT; path=/; HttpOnly
Set-Cookie: ASP.NET_SessionId=x12csr3ac4jp03jugqawke2d; path=/; HttpOnly
X-AspNet-Version: 2.0.5072