? ab-login.php
Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.230
diff -u -p -r1.230 bootstrap.inc
--- includes/bootstrap.inc	6 Oct 2008 22:40:20 -0000	1.230
+++ includes/bootstrap.inc	9 Oct 2008 22:59:38 -0000
@@ -653,14 +653,6 @@ function drupal_page_cache_header($cache
     exit();
   }
 
-  // Send appropriate response:
-  header("Last-Modified: $last_modified");
-  header("ETag: $etag");
-
-  // The following headers force validation of cache:
-  header("Expires: Sun, 19 Nov 1978 05:00:00 GMT");
-  header("Cache-Control: must-revalidate");
-
   if (variable_get('page_compression', TRUE)) {
     // Determine if the browser accepts gzipped data.
     if (@strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') === FALSE && function_exists('gzencode')) {
@@ -672,6 +664,15 @@ function drupal_page_cache_header($cache
     }
   }
 
+  // Send appropriate response:
+  header("Last-Modified: $last_modified");
+  header("ETag: $etag");
+  header('Content-Length: ' . strlen($cache->data));
+
+  // The following headers force validation of cache:
+  header("Expires: Sun, 19 Nov 1978 05:00:00 GMT");
+  header("Cache-Control: must-revalidate");
+
   // Send the original request's headers. We send them one after
   // another so PHP's header() function can deal with duplicate
   // headers.
