- 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