如果服务器返回,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很清楚——如果它被标记为“私有”,它需要被视为私有, 无论是否出现“public”
从务实的角度来看,宁可谨慎行事,也要将其视为“私人”。
这样一来,您会为糟糕的服务器带来一点额外的网络流量,但要保证用户(可能是私有的)数据的安全。
在这种情况下,私有缓存控制用于缓存和存储单个用户机器的数据,而不是为整个网络提供服务。
而公共缓存控件用于将来自服务器的数据存储在客户端计算机中,并在客户端计算机连接到的网络上共享它。
在这种情况下,私有缓存控制用于缓存和存储单个用户机器的数据,而不是为整个网络提供服务。
而公共缓存控件用于将来自服务器的数据存储在客户端计算机中,并在客户端计算机连接到的网络上共享它。
请参考以下示例包含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