对于我的应用程序,我们有来自同一应用程序的 REST API 和 Web 应用程序服务器。 (体积小,无需单独部署)
有什么方法可以排除所有 /api/*
路由路径以禁用缓存和 cookie?
注意:我无法执行 app.disable('etag')
操作,因为它会禁用整个 Web 应用程序。
最佳答案
据我所知,目前这是不可能的 - github 上也有一些 Unresolved 问题,例如:https://github.com/expressjs/express/issues/2472
作为解决方法,您可以使用以下内容删除 /api
路由上的请求 header :
const onHeaders = require('on-headers')
// mount custom middleware for all api-requests
app.use("/api*", (req, res, next) => {
removeHeaders(res);
next();
});
function removeHeaders(res) {
onHeaders(res, () => {
res.removeHeader('ETag');
// remove other headers ...
});
}
关于node.js - Express:禁用特定路由的 header (Etag、set-cookie 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254550/