--- includes/bootstrap.inc.old Thu Jul 16 09:43:00 2009 +++ includes/bootstrap.inc Thu Jul 16 09:59:54 2009 @@ -566,9 +566,14 @@ * @see page_set_cache */ function drupal_page_header() { + $last_modified = gmdate('D, d M Y H:i:s') .' GMT'; + # Add '_nocache' string to input of md5 function to differ logged in user and anonymous + $etag = '"'.md5($last_modified.'_nocache').'"'; + header("Expires: Sun, 19 Nov 1978 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); - header("Cache-Control: store, no-cache, must-revalidate"); + header("Last-Modified: " . $last_modified); + header("Etag: $etag"); + header("Cache-Control: store, no-cache, must-revalidate, private"); header("Cache-Control: post-check=0, pre-check=0", FALSE); } @@ -610,7 +610,7 @@ // The following headers force validation of cache: header("Expires: Sun, 19 Nov 1978 05:00:00 GMT"); - header("Cache-Control: must-revalidate"); + header("Cache-Control: must-revalidate, max-age=0"); // Determine if the browser accepts gzipped data. if (@strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') === FALSE && function_exists('gzencode')) {