缓存用于使访问的文档可用于后退/前进 导航,保存,按源查看等,而无需 到服务器的其他行程。同样可以改善离线浏览 缓存的内容。
但是我发现Google Chrome浏览器存在异常行为,如果我已经离线,我经常(但并非总是)无法通过浏览器的后退按钮访问页面。
这很奇怪,因为浏览器默认应缓存它们遇到的所有文档,如RFC 7234所示:
尽管缓存是HTTP的完全可选功能,但它可以 假设重用缓存的响应是可取的,并且 当没有要求或本地时,重用是默认行为 配置可以阻止它。
任何人都知道为什么会出现这种不规则行为,以及浏览器的专用缓存的默认到期时间有多长?
我知道RFC 7234的以下部分,但很遗憾,它没有回答问题。文字仍然含糊不清:
由于原始服务器并不总是提供明确的到期时间, 当明确的时间时,缓存可以分配启发式到期时间 未指定,使用使用其他标头字段的算法 值(例如上次修改时间)...如果响应中包含 最后修改的标头字段([RFC7232]的2.2节),缓存是 鼓励使用启发式到期值不超过 从那时起间隔的一小部分。典型设置 这个比例可能是10%。
顺便说一句,典型的网页响应默认情况下是否有一个Last Modified
标头字段?