【问题标题】:Express: Disable headers for specific routes (Etag, set-cookie, etc)Express:禁用特定路由的标头(Etag、set-cookie 等)
【发布时间】:2020-04-02 21:23:33
【问题描述】:

对于我的应用程序,我们有来自同一个应用程序的 rest API 和 webapp 服务器。 (小到不能单独部署)

有什么方法可以排除所有/api/* 路由路径以禁用缓存和cookie?

注意:我不能使用app.disable('etag'),因为它会禁用整个 web 应用程序。

【问题讨论】:

    标签: node.js express session-cookies http-caching


    【解决方案1】:

    Afaik 这目前是不可能的 - github 上也有一些未解决的问题,例如:https://github.com/expressjs/express/issues/2472

    作为一种解决方法,您可以使用以下方式删除 /api-route 上的请求标头:

    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 ...
      });
    }
    

    【讨论】:

      猜你喜欢
      • 2020-10-20
      • 2021-01-08
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2020-08-16
      相关资源
      最近更新 更多