- From: John Franks <john@math.nwu.edu>
- Date: Wed, 6 Sep 1995 16:21:38 -0500 (CDT)
- To: Jeffrey Mogul <mogul@pa.dec.com>
- Cc: john@math.nwu.edu, http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
According to Jeffrey Mogul:
>
> The first issue ("when does the cache have to validate with the server")
> is a correctness issue. The HTTP protocol MUST specify the rules here,
> because this involves an agreement between server and cache about the
> mechanism for consistency. Expiration time is clearly an aspect of
> these rules.
>
> The second issue ("when does the cache manager remove an object from
> the cache") is a policy issue. No matter what the cache manager does
> for a replacement policy, correctness is not at stake. Performance
> will, of course, depend strongly on the approach taken. However,
> we really don't know what the right approach is, and so I do not
> believe that the HTTP spec should demand a particular replacement
> policy. After all, the spec cannot demand a particular minimum
> cache size, so mandating a replacement policy in an attempt to
> achieve some sort of performance goal is pointless. We can hope
> that cache implementers and managers share our goal of reducing
> latency and server loading, and leave it at that.
>
I agree with the two paragraphs above. However, I was very happy to
learn about the "Control-Cache: max-age=0" header which is already
slated for HTTP/1.1. Presumably, HTTP/1.1 compliant proxies will have
to understand it. And I hope that server managers will use it. This
is because I suspect that many proxies will use expiration date as a
heuristic for discarding documents. If they do, as you point out,
that will not affect correctness, only performance.
Likewise, if server maintainers use "Expires: <yesterday>" to mean
"Control-Cache: max-age=0" that also won't affect correctness -- just
efficiency and the level of maintainer confusion. I am no longer very
worried about this, however, since the use of "Expires: <yesterday>"
to mean "Control-Cache: max-age=0" is so counter-intuitive that I
expect it will rarely be used for that purpose. Those maintainers who
do use Expires in this way will likely suffer a performance penalty,
but we are in agreement that they will be "correct."
John Franks
Received on Wednesday, 6 September 1995 14:24:00 UTC