From 4dcea6207d03fcdc25bc1c172d69c30673b7254a Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@gnu.kitenet.net>
Date: Wed, 31 Mar 2010 17:51:46 -0400
Subject: [PATCH] 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.
---
 debian/changelog    | 2 ++
 templates/page.tmpl | 1 +
 2 files changed, 3 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 5ec52d3c0..bbca7cffe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,6 +23,8 @@ ikiwiki (3.20100324) UNRELEASED; urgency=low
   * openid: Use Openid Simple Registration or OpenID Attribute Exchange
     to get the user's email address and username. (Neither is yet
     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
 
diff --git a/templates/page.tmpl b/templates/page.tmpl
index 968066a19..c24f88823 100644
--- a/templates/page.tmpl
+++ b/templates/page.tmpl
@@ -3,6 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta http-equiv="Cache-Control" content="must-revalidate" />
 <title><TMPL_VAR TITLE></title>
 <TMPL_IF NAME="FAVICON">
 <link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" />
-- 
2.39.5