什么是“懒惰缓存”?

时间:2013-02-01 12:47:45

标签: http caching browser-cache errordocument

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

  

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

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

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

<子> P.S。如果您知道如何更好地标记此问题,请执行此操作!

1 个答案:

答案 0 :(得分:5)

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

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

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

    如果您正在寻找,那么an example in PHP可以帮助您入门。