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
广告