- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Mon, 17 Mar 97 16:39:03 PST
- To: http-wg@cuckoo.hpl.hp.com
I wrote:
Koen and I have been discussing offline whether it is possible
to send
Expires: Sun, 06 Nov 1994 08:49:37 GMT
(or some similar ancient date) to ensure that *every* pre-HTTP/1.1
proxy cache will not, under *any* circumstances, cache the response.
This wasn't a very good way of asking the question (I should have been
a lot more careful about using the verb "to cache").
I should have asked whether sending an old http-date in an Expires header
will ensure that *every* pre-HTTP/1.1 proxy cache will not, under
any* circumstances, use a cached copy of the response in reply to a
subsequent request without first checking with the origin server,
using an "If-Modified-Since" request.
I.e., in HTTP/1.1 terms, will the proxy cache ever knowingly return
an explictly stale response?
I got some responses, not all of which were forwarded to the mailing
list.
Here's what I have been told:
Ari Luotonen
All various CERN proxy 3.0 versions and all versions of Netscape Proxy
(1.1, 2.0, 2.5) handle the Expires: header correctly, and understand
it to mean "do not use without revalidation after this time".
Vinod Valloppillil <vinodv@microsoft.com>
We [Microsoft] always honor expires: in our proxy server
Dave Ladd (dladd@spyglass.com)
[SurfWatch ProServer from Sypglass] will cache responses with an
explicit Expires, but if the date is in the past, we'll end up
always trying a conditional get. (Expires only affects the
freshness lifetime).
Peter Danzig
To the best of my recollection, no version of the
Harvest cache or its derivitives ignored an Expires
header.
but ...
>From Anthony Baxter <arb@connect.com.au>
squid allows you to force certain pages to not be expired for certain
amount of time. This is useful for, eg www.realaudio.com, who set all
their pages to expire 'now' (well, they used to, anyway).
"Kolics Bertold, University of Veszprem" <bertold@tohotom.vein.hu>
It *is* possible in Squid-1.1.x.
Excerpt from the Release-Notes:
"Squid 1.1 switched from a Time-To-Live based expiration model
to a Refresh-Rate model. Objects are no longer purged from the
cache when they expire. Instead of assigning TTL's when the
object enters the cache, we now check freshness requirements
when objects are requested."
Minimum age can be given for specific URL patterns. By default it is set
to zero for all URL patterns, but for cache-unfriendly sites it is usually
changed...
So I am still a little confused about whether Squid simply lets stuff
stay in the cache past the Expires time, or whether it always checks
past-Expires responses with the origin server before providing them.
Kolics Bertold's quote from the Squid 1.1 release notes implies (but
does not specifically state) that Squid *always* checks freshness;
Anthony Baxter's comments implies (but not specifically state) the
opposite.
Sorry about the confusing language the first time I sent this.
-Jeff
Received on Monday, 17 March 1997 16:43:52 UTC