我正在google pagespeed见解测试我的页面,它回来了: 在静态资源的HTTP标头中设置到期日期或最长期限,指示浏览器从本地磁盘而不是通过网络加载以前下载的资源。
我的假设是,如果我没有设置到期日,我的文件永远不会过期。这是不正确的?
到目前为止,我所看到的所有文章都讨论了如何设置过期,但是如果我没有设置过,那么它们就不会解释会发生什么。
有谁真的知道会发生什么?浏览器是否每次都重新请求文件?
答案 0 :(得分:0)
浏览器将使用某些启发式方法猜测可缓存的资源新鲜度。
RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching的相关摘录:
<强> 4.2.2。计算启发式新鲜度
由于源服务器并不总是提供明确的到期时间, 缓存可以在显式时间分配启发式到期时间 未指定,使用使用其他标头字段的算法 估计合理的值(例如最后修改时间) 到期时间。本规范没有具体说明 算法,但确实对结果施加了最坏情况限制。
有关更多信息,请查看Mark Nottingham撰写的The State of Browser Caching, Revisited文章。