[squid-users] Re: squid reverse proxy caching session id?

From: Oliver Schoett <os@dont-contact.us>
Date: Sun, 13 Jan 2008 19:11:47 +0100

Oliver Schoett wrote:
> Cache-Control: private
> Expires: Mon, 01 Jan 2007 00:00:00 GMT

Sorry, but this is still not optimal. The Expires: date in the past
will also defeat caching by HTTP 1.1 caches. RFC 2616 allows for HTTP
1.1 directives to override the Expires: date of HTTP 1.0 as follows:

    Cache-Control: private, max-age=86400
    Expires: Mon, 01 Jan 2007 00:00:00 GMT
      

The max-age directive is a lifetime in seconds and, if present, is used
by HTTP 1.1 caches instead of the Expires: date (RFC 2616, Sect.
13.2.4: The max-age directive takes priority over Expires [...]).

In the example above, a HTTP 1.1 cache may cache the resource for 24
hours (86400 seconds), while a HTTP 1.0 cache sees only the Expires:
date in the past and hence must not cache (RFC 1945, Sect. 10.7: If the
[Expires:] date given is equal to or earlier than the value of the Date
header, the recipient must not cache the enclosed entity).

This complication occurs only if we want diffent caching policies for
HTTP 1.0 and 1.1; the easy cases of either no caching or caching for the
same time by both types of caches can both be handled by just sending
the Expires: date (no Cache-Control: needed).

Regards,

Oliver Schoett
Received on Sun Jan 13 2008 - 11:11:59 MST

This archive was generated by hypermail pre-2.1.9 : Fri Feb 01 2008 - 12:00:04 MST