RFC2616 13.3,浏览器历史和缓存

Posted

技术标签:

【中文标题】RFC2616 13.3,浏览器历史和缓存【英文标题】:RFC2616 13.3, Browser History and Caching 【发布时间】:2012-03-29 20:23:19 【问题描述】:

我一直在努力解决浏览器历史与缓存的整个问题以及RFC2616 13.13

RFC 的这一部分是否意味着如果用户在浏览器中“返回”,例如,它应该始终显示来自其本地存储的页面,忽略任何缓存指令,除非用户另有配置?

所以浏览历史时重新加载页面的浏览器,即使缓存指令指示它这样做,也不符合规范?规范说这是不好的,因为“这将迫使服务作者避免使用 HTTP 过期控制和缓存控制,而他们本来希望这样做。”

此外,即使指令可能指示浏览器不要缓存,例如使用Cache-Control: no-store,它可以/应该将它存储在它的历史缓存中吗?

根据我的阅读,似乎大多数浏览器都违反了标准,除了 Opera。这是因为重新显示包含历史敏感数据的页面的安全问题被认为比标准所讨论的问题更重要吗?

如果有人能对此领域有所了解/澄清,我将不胜感激,谢谢。

【问题讨论】:

【参考方案1】:

历史和缓存是完全分开的。我们试图在 httpbis 中澄清这一点;见https://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p6-cache.html#history.lists

【讨论】:

以上是关于RFC2616 13.3,浏览器历史和缓存的主要内容,如果未能解决你的问题,请参考以下文章

浏览器缓存(RFC7234)

HTTP协议解析小白文

302 重定向到相对 URL 是有效的还是无效的?

常见的HTTP状态码(HTTP Status Code)

如何清除火狐浏览器历史记录和缓存,在哪设置

Web开发须知的浏览器内幕 缓存与存储篇