什么是"懒惰缓存"?

Ser*_*sky 4 caching http browser-cache errordocument

我正在重新阅读这篇伟大的文章,偶然发现了我之前没有注意到的事情,这就是作者所谓的懒惰缓存.确切地说,这是上下文:

他们知道如何使用错误文档进行延迟缓存吗?

什么是延迟缓存以及错误文档与此相关的内容?我一直在谷歌上搜索这些短语,并且没有成功.

有人可以解释那是什么以及在哪里使用?我认为只是有一个不同的名称,我无法弄清楚是什么.

PS如果你知道如何更好地标记这个问题,请这样做!

Kev*_*ker 5

"错误文档"可能只是指HTTP状态代码,特别是304 Not Changed状态.有人可能称之为"懒惰缓存",因为在静态网站上,您通常不需要做任何事情来设置它.

它如何在静态网站上运行:

  1. 浏览器请求URL.
  2. 服务器返回响应,包括Last-modified: [last modified date of static file]标头.
  3. 浏览器稍后会请求相同的URL,包括If-Modified-Since: [last modified date from first request]请求标头.
  4. 服务器返回304 Not Modified响应.

由于动态页面显然不能依赖于文档的修改日期,因此您必须不遗余力地实现此类缓存.它的工作方式完全相同,但不是依靠HTTP服务器自动执行任何操作,而是Last-modified根据数据库值(或其他)计算日期,并将其与每个响应一起发送.然后,当您收到包含If-Modified-Since标题的请求时,您可以在计算上次修改日期所需的内容后跳过任何处理,只需发送304 Not Modified响应,可能会节省大量带宽和CPU周期.

这是PHP中一个示例,如果您正在寻找的话,可以帮助您入门.