Koa.js - 快取



快取是指儲存可重用響應以加快後續請求的過程。每個瀏覽器都自帶 HTTP 快取的實現。我們只需要確保每個伺服器響應都提供正確的 HTTP 標頭指令,以指示瀏覽器何時以及快取響應多長時間。

以下是將快取包含在 Web 應用中的一些好處:

  • 降低網路成本。如果您的內容被快取,您需要為每個後續請求傳送的內容更少。

  • 提高網站速度和效能。

  • 即使客戶端離線,也可以提供您的內容。

我們將使用 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

Before Cache

下次傳送請求時,會同時傳送 ETtag。由於我們的內容在伺服器上沒有更改,因此其對應的 ETag 也保持不變,客戶端被告知它本地儲存的副本與伺服器提供的副本是最新的,應使用本地副本,而不是再次請求。

After Cache

注意 - 為了使任何快取檔案失效,您只需要更改其檔名並更新其引用即可。這將確保您有一個新檔案傳送給客戶端,並且客戶端無法從快取中載入它。

廣告

© . All rights reserved.