Skip to content

Instantly share code, notes, and snippets.

@tagr
Created September 28, 2014 20:22
Show Gist options
  • Save tagr/170627486377551831de to your computer and use it in GitHub Desktop.
Save tagr/170627486377551831de to your computer and use it in GitHub Desktop.
Node.js/Express: Add Expires header to /images and /stylesheets directories
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/*', function (req, res, next) {
if (req.url.indexOf("/images/") === 0 || req.url.indexOf("/stylesheets/") === 0) {
res.setHeader("Cache-Control", "public, max-age=2592000");
res.setHeader("Expires", new Date(Date.now() + 2592000000).toUTCString());
}
next();
});
app.get('/', routes.index);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
@ORESoftware
Copy link

max-age supposedly overrides the expires header, so which one do you want to use?

@ghostcode
Copy link

max-age supposedly overrides the expires header, so which one do you want to use?

depend on browser.

@romain130492
Copy link

💪💪💪

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment