4

我在重读这篇很棒的文章时偶然发现了一些我之前没有注意到的东西,这就是作者所说的 Lazy Caching。准确地说,这里是上下文:

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

什么是延迟缓存以及错误文档与此有何关联?我一直在谷歌搜索这些被改写和分开的短语,但没有成功。

有人可以解释那是什么以及在哪里使用吗?我认为只是有一个不同的名称,我不知道是什么。

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

4

1 回答 1

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 示例可以帮助您入门。

于 2013-02-09T04:52:14.780 回答