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://127.0.0.1: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://127.0.0.1:3000/api

输出

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

更新于: 2022 年 1 月 29 日

266 次浏览

开启你的 事业

完成课程,获得认证

开始
广告