page.tmpl: Add Cache-Control must-revalidate to ensure that users (especially of Firefox) see fresh page content.

Since Firefox version 3, it's done aggressive caching of visited pages, and
does not, by default, check if the cached content is still valid when
reloading or revisiting a page. By default, Firefox seems to not re-contact
the web server at all. Compare with eg, Epiphany and Chromium, which appear
to always check, and get back a 304 when the page is unchanged.

This header makes Firefox do the right thing, at least for html files. It
still over-caches if css, javascript, images, etc, are changed.
master
Joey Hess 2010-03-31 17:51:46 -04:00
parent fc5445b906
commit 4dcea6207d
2 changed files with 3 additions and 0 deletions

2
debian/changelog vendored
View File

@ -23,6 +23,8 @@ ikiwiki (3.20100324) UNRELEASED; urgency=low
* openid: Use Openid Simple Registration or OpenID Attribute Exchange * openid: Use Openid Simple Registration or OpenID Attribute Exchange
to get the user's email address and username. (Neither is yet to get the user's email address and username. (Neither is yet
used, but they are available in the session object now.) used, but they are available in the session object now.)
* page.tmpl: Add Cache-Control must-revalidate to ensure that users
(especially of Firefox) see fresh page content.
-- Joey Hess <joeyh@debian.org> Sat, 13 Mar 2010 14:48:10 -0500 -- Joey Hess <joeyh@debian.org> Sat, 13 Mar 2010 14:48:10 -0500

View File

@ -3,6 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Cache-Control" content="must-revalidate" />
<title><TMPL_VAR TITLE></title> <title><TMPL_VAR TITLE></title>
<TMPL_IF NAME="FAVICON"> <TMPL_IF NAME="FAVICON">
<link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" /> <link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" />