HTTP:如果文档被缓存,那么为什么我无法通过会话历史记录来访问它?

时间:2018-06-21 01:14:33

标签: javascript http caching

MDN says

  

缓存用于使访问的文档可用于后退/前进   导航,保存,按源查看等,而无需   到服务器的其他行程。同样可以改善离线浏览   缓存的内容。

但是我发现Google Chrome浏览器存在异常行为,如果我已经离线,我经常(但并非总是)无法通过浏览器的后退按钮访问页面。

这很奇怪,因为浏览器默认应缓存它们遇到的所有文档,如RFC 7234所示:

  

尽管缓存是HTTP的完全可选功能,但它可以   假设重用缓存的响应是可取的,并且   当没有要求或本地时,重用是默认行为   配置可以阻止它。

任何人都知道为什么会出现这种不规则行为,以及浏览器的专用缓存的默认到期时间有多长?


编辑

我知道RFC 7234的以下部分,但很遗憾,它没有回答问题。文字仍然含糊不清:

  

由于原始服务器并不总是提供明确的到期时间,   当明确的时间时,缓存可以分配启发式到期时间   未指定,使用使用其他标头字段的算法   值(例如上次修改时间)...如果响应中包含   最后修改的标头字段([RFC7232]的2.2节),缓存是   鼓励使用启发式到期值不超过   从那时起间隔的一小部分。典型设置   这个比例可能是10%。

顺便说一句,典型的网页响应默认情况下是否有一个Last Modified标头字段?

0 个答案:

没有答案