Node.js and Express session handling - Back button problem
app.get('/dashboard', loadUser, function(req, res){
res.header('Cache-Control', 'no-cache');
res.header('Expires', 'Fri, 31 Dec 1998 12:00:00 GMT');
res.render('dashboard', {
username: req.session.username
});
});
Josh's answer sadly didn't work for me. But after some searching I found this question: What's the best way to deal with cache and the browser back button?
and adopted the answer there to this node.js/express problem. You just have to change the following line
res.header('Cache-Control', 'no-cache');
to
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
Now, everytime I use the browser back button, the page is reloaded and not cached.
* update for express v4.x *
// caching disabled for every route
server.use(function(req, res, next) {
res.set('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
next();
});
// otherwise put the res.set() call into the route-handler you want