【问题标题】:Express: SetHeader 'Cache-Control' for a single file after setting maxAgeExpress:设置 maxAge 后单个文件的 SetHeader 'Cache-Control'
【发布时间】:2015-09-16 11:00:14
【问题描述】:

节点新手在这里。下面的代码导致所有文件都收到响应头“Cache-Control public, max-age=31536000”。我希望索引的最大年龄为 0。我尝试了几种不同的方法,但它的根源似乎是我的一个更根本的误解。

为什么下面的 res.setHeader 行没有生效(这样我可以理解我的误解)以及确保 Index.html 不被缓存的正确方法是什么?

var express    = require('express'),
    gzipStatic = require('connect-gzip-static'),
    app        = express(),
   
    port= process.env.PORT || 3030,
    cacheAge = 365 * 24 * 60 * 60 * 1000;

app.use(gzipStatic(__dirname + '/public', { maxAge: cacheAge }));

app.get('/', function(req, res) {
    res.setHeader('Cache-Control', 'max-age=0');
    res.sendFile('index.html');
});

【问题讨论】:

    标签: node.js express cache-control


    【解决方案1】:

    尝试在app.use()中设置header:

    app.use(function (req, res, next) {
      ......
    
      res.setHeader('Cache-Control', 'public, max-age=31557600'); // 1 year
    
      ......
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-31
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      相关资源
      最近更新 更多