Re: HTTP Caching Model?

On Tue, 13 Dec 1994, Daniel W. Connolly wrote, quoting Mitra:
> >This doesnt surprise me at all, I've either used, or considered using this
> >field in the following ways.

I've had to do this too.  "In an ideal world" blah blah blah.... what 
matters is that when people say "you'll pry MacMosaic 1.0.3 from my cold 
dead fingers", well, you have to shoot them.

> I'm not sure what you're suggesting here.
> 
> I can see that real world nasty problems require real world nasty
> solutions.
> 
> But as far as a spec, shouldn't we use the categorical imperative?
> i.e. what if everybody did that?

Mitra and I use it to atone for bugs, er, "incomplete implementations".  
Once we have HTML and HTTP standards, and a "www-user-agent" standard, 
and people *stuck* to them when calling their browsers "WWW Browser Level 
N", *and* we have servers that do format and protocol negotiation 
correctly, we won't need to look at the User-Agent.  That's a hell of a 
long list, one we're all striving to achieve but won't get there for awhile.
If use of User-Agent is mentioned in any spec, let it be allowed for use 
in accounting for incomplete implementations - serving out semantically 
different documents should be the discouraged action.

> If everybody customized their documents on a per-user-agent basis, and
> caching proxies don't take the User-Agent: header into account in
> their cache keys, then things will be broken.
>
> The question is: where do we assign the fault?

Proxies *must* be nearly invisible.  A proxy accessing a server must look
just like a client accessing a server.  A client accessing a proxy must
look just like a client accessing a server.  If this is not a design goal
of proxies, they will never become as ubiquitous as they need to be to
allow the net to scale correctly. 

Obviously there needs to be some way for the server to communicate bck to 
the proxy "this response is particular for *this* and *this* and *this* 
parameter, but this response is constant for all other parameters." How 
the server determines this from the way the documents are created is up 
to the server and server maintainer, not an issue for HTTP.  A  
header could be returned in the response:

Cache-Key: User-Agent = WinMosaic

which contains qualifications on various headers for caching.

> >Of course .... if none of the browsers had bugs, and all did a good job of
> >presentation, then designers wouldnt need to server up multiple versions of
> >files.
>
> A spec tells you what happens when everybody plays by the rules. When
> there are bugs, all bets are off, and you do what you must.

The suggestion above could be used for more than just User-Agent.

	Brian

--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Your slick hype/tripe/wipedisk/zipped/zippy/whine/online/sign.on.the.ish/oil
pill/roadkill/grease.slick/neat.trick is great for what it is. -- Wired Fan #3
 brian@hotwired.com  brian@hyperreal.com  http://www.hotwired.com/Staff/brian/

Received on Tuesday, 13 December 1994 13:34:36 UTC