扫码一下
查看教程更方便
缓存是存储可重用的响应内容从而使后续请求更快的技术。 每个浏览器都附带了一个 HTTP 缓存的实现。 我们所要做的就是确保每个服务器响应都提供正确的 HTTP 标头指令,以指示浏览器何时以及多久可以缓存响应。
以下是在我们的网络应用程序中包含缓存的一些好处
我们将使用 koa-static-cache
中间件在我们的应用程序中实现缓存。 安装这些中间件
$ npm install --save koa-static-cache
转到 app.js 文件并将以下代码添加到其中。
var koa = require('koa');
var app = new koa();
var path = require('path');
var staticCache = require('koa-static-cache');
app.use(staticCache(path.join(__dirname, 'public'), {
maxAge: 365 * 24 * 60 * 60 // 将这些文件添加到缓存中一年
}))
app.listen(3000);
koa-static-cache 中间件用于在客户端缓存服务器响应。 缓存控制标头是根据我们在初始化缓存对象时提供的选项设置的。 我们已将此缓存响应的过期时间设置为 1 年。 以下是我们在文件缓存之前和之后发送的请求的比较。
在这个文件被缓存之前,返回的状态码是200。 响应标头包含有关要缓存的内容的多个信息,并且还为内容提供了 ETag。
下次发送请求时,它会与 ETtag 一起发送。 由于我们的内容在服务器上没有改变,其对应的 ETag 也保持不变,并且客户端被告知它在本地拥有的副本与服务器将提供的内容是最新的,并且应该使用本地副本而不是再次请求 。
注意
: 要使任何缓存文件无效,只需更改其文件名并更新其引用。 这将确保我们有一个新文件要发送给客户端,并且客户端无法从缓存中加载它。