- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Wed, 06 Sep 95 11:29:12 MDT
- To: Shel Kaphan <sjk@amazon.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
One thing I *do* hate about this is that "expires: <right now>" has
problems because of clock skew, but otherwise that would seem to
make more sense intuitively than "expires: yesterday".
You may want to look at the proposal I sent last month for using
the server's current date to de-skew Expiration times. We may simply
want to make Date: mandatory for responses with an Expires: header.
If Date: > Expires:, then the meaning should be unambiguous.
-Jeff
people have diametrically opposite ideas of what
is natural here. I would point out that the "Expires: yesterday"
approach might be more likely to cause correct operation of existing
proxies, but I don't have specific evidence to back this up.
Paul writes:
Tagging a document with a very ancient "Expired:", when handled
consistent with the above considerations, will almost completely
automatically cause the behavior that has been asked for: you always
get the latest copy, saving the cost of getting it from the server when
the cached copy is still valid, even though there is no promise that it
still is. The only slightly "funny" thing is that the agent has to
ignore the Expires when making replacement decisions, instead only
considering the actual reference pattern and other info, such as
Last-Modified; in the absence of knowledge of this usage style, one
might be tempted to toss resources out of the cache that had expired a
long time ago.
That's a good point; the cache-manager's replacement policy is
in some sense entirely distinct from the rules for when a cached
object is considered valid, but perhaps one might find that
a replacement policy favoring unexpired objects over expired ones
would work better than simple LRU. This, however, will take real-world
experimentation to decide, and the choice is one that can safely be
left unspecified in the HTTP specification (and should be left unspecified,
since we don't know the right answer).
-Jeff
P.S.: One point I neglected to cover yesterday: clearly, the ultimate
client should always have the option to tell any cache along the
path to reload from the ultimate server, in spite of any belief
the cache manager might have about the validity of its cached copy.
Received on Wednesday, 6 September 1995 11:38:24 UTC