Express.js 中的 req.fresh 屬性


req.fresh 屬性會基於客戶端快取的狀態返回 True 或 false。如果快取仍然為最新狀態,則返回 True,否則返回 False 以表示快取已過期,需要傳送全部內容而非僅那些未快取的部分。

當客戶端傳送 Cache-Control 為 no-cache 請求標頭來表示端到端重新載入請求時,將返回 False 以使這些請求的處理過程變得透明。

語法

req.fresh

示例 1

建立一個名稱為“reqFresh.js”的檔案,然後複製以下程式碼片段。建立檔案後,使用命令 “node reqFresh.js” 按照以下示例來執行此程式碼 -

// req.fresh Property Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining Multiple routings
app.get('/api', function (req, res) {
   console.log(req.fresh);
   res.send();
});
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

使用 GET 請求訪問以下端點 - https://:3000/api

輸出

C:\home
ode>> node reqFresh.js Server listening on PORT 3000 false

示例 2

來看一個更多示例。

// req.fresh Property Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining Multiple routings
app.get('/api', function (req, res) {
   console.log("When Cache-control is no-cache", req.fresh);
   res.send();
});
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

使用 GET 請求訪問以下端點 - https://:3000/api

輸出

C:\home
ode>> node reqFresh.js Server listening on PORT 3000 When Cache-control is no-cache false

更新於: 2022 年 1 月 29 日

266 次瀏覽

開啟你的 事業

完成課程,獲得認證

開始
廣告
© . All rights reserved.