我提供的背景图像相当大,我希望将其永久缓存。我想我应该发送一个最大年龄为无穷大的缓存头。我怎样才能以干净和正确的方式做到这一点。我正在使用 express(开箱即用)并且没有任何缓存模块。
user623990
问问题
1898 次
2 回答
5
您可以设置一个可以匹配静态背景图像路径的中间件处理程序,然后设置缓存控制标头。这将为您的图像设置缓存控制标头,但不会为其他静态资源设置。
app.configure(function(){
app.use(function(req, res, next) {
var matchUrl = '/background.jpg';
if(req.url.substring(0, matchUrl.length) === matchUrl) {
res.setHeader("Cache-Control", "max-age=31556926");
}
return next();
});
app.use(express.static(path.join(application_root, "StaticPages")));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
顺序很重要。您的中间件函数需要在express.static
处理程序之前对齐。
于 2013-04-19T03:18:12.280 回答
1
我认为更好的方法是缩小图像,然后使用像 Diet JPEG (OS X) 这样的程序来最小化文件大小。
于 2013-04-19T03:09:31.187 回答