目录

Koa.js - 缓存( Caching)

缓存是存储可重用响应的术语,以便使后续请求更快。 每个浏览器都附带一个HTTP缓存实现。 我们所要做的就是确保每个服务器响应都提供正确的HTTP头指令,以指示浏览器在何时以及浏览器缓存响应的时间和长度。

以下是在您的网络应用程序中包含缓存的一些好处 -

  • 您的网络成本会降低。 如果您的内容已缓存,则您需要为每个后续请求发送较少的内容。

  • 您网站的速度和性能会提高。

  • 即使您的客户离线,您的内容也可用。

我们将使用koa-static-cache中间件在我们的应用程序中实现缓存。 使用 - 安装这些中间件 -

$ npm install --save koa-static-cache

转到app.js文件并将以下代码添加到其中。

var koa = require('koa');
var app = koa();
var path = require('path');
var staticCache = require('koa-static-cache');
app.use(staticCache(path.join(__dirname, 'public'), {
   maxAge: 365 * 24 * 60 * 60  //Add these files to caches for a year
}))
app.listen(3000);

koa-static-cache中间件用于缓存客户端的服务器响应。 根据我们在初始化缓存对象时提供的选项设置cache-control头。 我们已将此缓存响应的到期时间设置为1年。 以下是我们在缓存文件之前和之后发送的请求的比较。

在缓存此文件之前,返回的状态代码为200,这是正常的。 响应头具有关于要缓存的内容的多个信息,并且还给出了内容的ETag

在缓存之前

下次发送请求时,它与ETtag一起发送。 由于我们的内容在服务器上没有改变,它的相应ETag也保持不变,并且客户端被告知它本地的副本与服务器提供的内容是最新的,应该使用本地副本而不是请求再次。

缓存后

Note - 要使任何缓存文件无效,只需更改其文件名并更新其引用即可。 这将确保您有一个新文件发送到客户端,客户端无法从缓存中加载它。

↑回到顶部↑
WIKI教程 @2018