缓存控制:私有和公共

时间:2010-10-03 18:41:10

标签: http web-standards cache-control rfc2616

如果服务器返回Cache-Control: private, public,http客户端应该怎么做?

我有一种感觉private应该覆盖public,但我在RFC中找不到确认(MUST privateMAY除外public } {{1}})。

4 个答案:

答案 0 :(得分:5)

我相信http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p6-cache-20.html#rfc.section.3非常明确 - 如果它被标记为“私有”,则无论“公共”是否也出现,都需要将其视为私有

答案 1 :(得分:2)

从务实的角度来看,谨慎对待并将其视为“私人”。

这样,您可以为糟糕的服务器带来额外的网络流量,但保护用户(可能是私有的)数据安全。

答案 2 :(得分:1)

在此上下文中使用专用缓存控制来缓存和存储单个用户计算机的数据,而不是为整个网络提供服务。

而公共缓存控件用于从服务器将数据存储在客户端计算机中,并通过客户端计算机所连接的网络共享。

答案 3 :(得分:0)

在此上下文中使用专用缓存控制来缓存和存储单个用户计算机的数据,而不是为整个网络提供服务。

而公共缓存控件用于从服务器将数据存储在客户端计算机中,并通过客户端计算机所连接的网络共享。

请参阅以下示例,其中包含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