- From: Shel Kaphan <sjk@amazon.com>
- Date: Wed, 13 Sep 1995 21:42:06 -0700
- To: fielding@beach.w3.org
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
This really isn't much of a hot button for me, but I guess its worth putting some effort into reaching a common understanding. cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com Date: Wed, 13 Sep 1995 23:15:26 -0400 From: Roy Fielding <fielding@beach.w3.org> Content-Type: text Content-Length: 894 >The argument against it didn't take the request-header usage into >account, because that doesn't overlap with other functionality in a >non-orthogonal way. My main problem with it is its redundancy with Expires, >(as a response header) with which it appears to have almost identical >semantics, though what happens if they are both present is not >well defined. Actually, that is a problem with Expires in general and does not affect the functionality of max-age. I don't quite catch your drift here. In fact, both headers can exist without any confusion whatsoever, since they are not redundant. Clearly something is unclear, because on my reading, except for the difference in the effect on a non-"intermediary" server, the effect is identical. In what other way do the two *response* headers Expires: <now + n seconds> and Cache-control: max-age=n differ? In both cases isn't the meaning that before <now + n seconds> a cache may serve the document without validating it, and after <now + n seconds> the cache must validate the document before serving it? ("validate" means fetch a new copy or, with GET if-modified-since, receive an indication that the present copy is the newest available). Are they or are they not supposed to cause the same behavior in proxy caches, and if not, how not? I've read over the spec page on both several times, and except for the wording that max-age affects a caching intermediary, I can see 0 difference. I also do not understand the purpose of defining max-age to operate only on "caching intermediaries" even though the Cache-control directive is in general defined to operate on "all caching mechanisms along the request/response chain." If Expires: <now + n seconds> and Cache-control: max-age=m where m != n, both appear in a response, which "wins"? This is the only functional question, aside from the confusion engendered by having two mechanisms that do the same thing. As long as how it works is defined, I don't suppose it makes much difference one way or the other if they both exist. But it must at least be defined. Sorry if I'm missing something obvious in the definition of these headers, but my guess is that if it confuses me, I am not the only one who will find it confusing. Expires should be as it was intended for the CERN server or be removed from the spec entirely. ....Roy T. Fielding Department of ICS, University of California, Irvine USA Visiting Scholar, MIT/LCS + World-Wide Web Consortium (fielding@w3.org) (fielding@ics.uci.edu) What was Expires intended to be for the CERN server? --Shel
Received on Wednesday, 13 September 1995 21:47:05 UTC