Re: Still trying to make sense of HTTP caching model

 > > Roy says:
 > > ]
 > > ] Just as an informational point, I already included these semantics
 > > ] in draft 01 for the "max-age" (now Cache-Control: max-age=NNN) parameter.
 > > 

Am I the only one around here who finds it extremely unaesthetic to 
have such an unorthogonal design for such an important part of this protocol?

Orthogonality is not just for looks, it also means you don't have to
define how the unorthogonal elements behave when they combine (as Paul
has also pointed out).  It's just bad design to allow overlapping
functionality like this.  The duplication of function is FAR more
confusing than the fact that Expires has semantics that are not
obvious without "reading the directions."

The only functional difference I can detect between Cache-control: max-age
and Expires: <now-or-in-the-past> is that Cache-control: max-age is
defined to operate on "intermediaries", which I assume is intended to mean
proxy caches.  I would much rather see an extra parameter on one or
the other of Expires or Cache-control to cover this difference, say
"Cache-control: max-age=nnn, proxies-only",  or some such thing, and get
rid of the duplication.  

For that matter, I would be in favor of getting rid of all the duplication
caused by the interaction of Expires and Cache-control.  

Expires could (and I think should) be completely eliminated,
except for downward compatibility, and it should be illegal to 
have both Expires and Cache-control:max-age in the same response.

--Shel

Received on Thursday, 7 September 1995 10:44:37 UTC