summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2015-03-29 17:24:26 -0400
committerDavid Rothstein <drothstein@gmail.com>2015-03-29 17:24:26 -0400
commitf7cda605f66446c5661a99cfdb343ebb32dd0441 (patch)
treec925f7dcace819cb84b6562a7e0549c21724c6c9 /includes
parent5b781afa6642536e449ce2595afffdb98f9e5d18 (diff)
downloadbrdo-f7cda605f66446c5661a99cfdb343ebb32dd0441.tar.gz
brdo-f7cda605f66446c5661a99cfdb343ebb32dd0441.tar.bz2
Issue #2381839 by klausi, Damien Tournoud: Changed date format for Last-Modified header breaks caching for certain Varnish/Nginx configurations.
Diffstat (limited to 'includes')
-rw-r--r--includes/bootstrap.inc23
1 files changed, 4 insertions, 19 deletions
diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index b1dd6eb1f..922fd094e 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -1246,23 +1246,10 @@ function drupal_send_headers($default_headers = array(), $only_default = FALSE)
* fresh page on every request. This prevents authenticated users from seeing
* locally cached pages.
*
- * Also give each page a unique ETag. This will force clients to include both
- * an If-Modified-Since header and an If-None-Match header when doing
- * conditional requests for the page (required by RFC 2616, section 13.3.4),
- * making the validation more robust. This is a workaround for a bug in Mozilla
- * Firefox that is triggered when Drupal's caching is enabled and the user
- * accesses Drupal via an HTTP proxy (see
- * https://bugzilla.mozilla.org/show_bug.cgi?id=269303): When an authenticated
- * user requests a page, and then logs out and requests the same page again,
- * Firefox may send a conditional request based on the page that was cached
- * locally when the user was logged in. If this page did not have an ETag
- * header, the request only contains an If-Modified-Since header. The date will
- * be recent, because with authenticated users the Last-Modified header always
- * refers to the time of the request. If the user accesses Drupal via a proxy
- * server, and the proxy already has a cached copy of the anonymous page with an
- * older Last-Modified date, the proxy may respond with 304 Not Modified, making
- * the client think that the anonymous and authenticated pageviews are
- * identical.
+ * ETag and Last-Modified headers are not set per default for authenticated
+ * users so that browsers do not send If-Modified-Since headers from
+ * authenticated user pages. drupal_serve_page_from_cache() will set appropriate
+ * ETag and Last-Modified headers for cached pages.
*
* @see drupal_page_set_cache()
*/
@@ -1275,9 +1262,7 @@ function drupal_page_header() {
$default_headers = array(
'Expires' => 'Sun, 19 Nov 1978 05:00:00 GMT',
- 'Last-Modified' => gmdate(DATE_RFC7231, REQUEST_TIME),
'Cache-Control' => 'no-cache, must-revalidate, post-check=0, pre-check=0',
- 'ETag' => '"' . REQUEST_TIME . '"',
);
drupal_send_headers($default_headers);
}