【问题标题】:Cache-control: private and public缓存控制:私有和公共
【发布时间】:2010-10-03 18:41:09
【问题描述】:

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

我觉得private 应该覆盖public,但我在 RFC 中找不到确认(除了private 中的MUSTpublic 中的MAY)。

【问题讨论】:

  • 供参考,RFC 2616: 14.9.1 What is Cacheable。如何处理它取决于浏览器。所以,不要同时发送publicprivate
  • 我做的是客户端,不是服务器,我提前在想如何处理这些场景。

标签: http web-standards cache-control rfc2616


【解决方案1】:

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

【讨论】:

  • 这是正式的了吗?
  • Pacerier:你说的“官方”是什么意思?不,它还没有作为 RFC 发布。见trac.tools.ietf.org/wg/httpbis/trac/wiki#HTTP1.1Deliverables
  • 嗯,是不是快要敲定发布了?
  • 它需要通过 IETF Last Call(很快),然后可能会再次修改,然后获得 IESG 的批准。
【解决方案2】:

从务实的角度来看,宁可谨慎行事,也要“保密”。

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      请参考以下示例包含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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-04
        • 2012-10-06
        • 2021-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多