Express:设置maxAge后,单个文件的SetHeader'Cache-Control'

时间:2015-06-29 20:22:08

标签: node.js express cache-control

节点新手在这里。以下代码导致所有文件都收到响应头“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');
});

1 个答案:

答案 0 :(得分:0)

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

app.use(function (req, res, next) {
  ......

  res.setHeader('Cache-Control', 'public, max-age=31557600'); // 1 year

  ......
})