我正在 google pagespeed Insights 上测试我的页面,它返回:在静态资源的 HTTP 标头中设置到期日期或最长期限,指示浏览器从本地磁盘而不是通过网络加载以前下载的资源.
我的假设是,如果我不设置过期时间,我的文件将永远不会过期。这是不正确的吗?
到目前为止我看到的所有文章都讨论了如何设置过期时间,但它们没有解释如果我不设置过期时间会发生什么。
有谁真正知道会发生什么?浏览器每次都会重新请求文件吗?
浏览器将使用某些启发法猜测可缓存资源的新鲜度。
相关摘录自RFC 7234 - 超文本传输协议 (HTTP/1.1):缓存 https://www.rfc-editor.org/rfc/rfc7234#section-4.2.2:
4.2.2.计算启发式新鲜度
由于源服务器并不总是提供明确的过期时间,
当明确的时间时,缓存可以分配启发式过期时间
未指定,采用使用其他头字段的算法
值(例如上次修改时间)来估计合理的
过期时间。本规范没有提供具体的
算法,但确实对其结果施加了最坏情况的限制。
欲了解更多信息,请检查重新审视浏览器缓存的状态 https://www.mnot.net/blog/2017/03/16/browser-caching马克·诺丁汉的文章。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)