W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > September to December 1995

Re: Rethinking content negotiation (Was: rethinking caching)

From: Koen Holtman <koen@win.tue.nl>
Date: Sat, 23 Dec 1995 15:10:30 +0100 (MET)
Message-Id: <199512231410.OAA29817@wswiop05.win.tue.nl>
To: Daniel DuBois <ddubois@rafiki.spyglass.com>
Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Daniel DuBois:
>
>I've always been very hesitant about the server's content variant-picking
>algorithm being part of the protocol, because I saw that as a server-side
>implementation issue, but as time goes on, I become more and more convinced
>of the weight of this issue and its impact on the scalabilty of the web.

I still am very hesitant about moving variant-picking algorithms into
proxies: if it is done in the wrong way, it will have a negative
impact on the extensibility of the protocol.

It is desirable however to put a sub-algorithm that often occurs in
server variant-picking algorithms in the protocol.  The sub-algorithm
in question is the algorithm that can match MIME type, language, and
content coding.

>The new URI header solves this caching problem perfectly, and
>single-handedly convinces me of the concept of opening the algorithm to the
>protocol.

I agree with your assessment of the old `vary' method not being a good
solution, but I disagree with you that the new URI header `solves the
caching problem perfectly'.

The URI header in draft-ietf-http-v11-spec-00 is a step in the right
direction, but it does not offer a perfect solution by itself, we need
some additional mechanisms currently under discussion. (One example of
such a mechanism is the request header I called `Send-no-body-for' in
my notes on content negotiation (see
http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q4/0347.html ).

We need something like `Send-no-body-for' because variant-picking
algorithms can never be moved completely into proxies.  (User-agent
based negotiation is the most obvious reason why this cannot be done.)

I expect to be working on these issues inside the content negotiation
subgroup.

By the way, I disagree with Larry Masinter on where to draw the line
between content negotiation and caching. My assignment of header
responsibility is:

Content negotiation subgroup:
 Accept-*, URI, Location

Caching subgroup:
 Expires, Cache-control, If-Modified-Since, ....

URI and Location are both used by all types of clients, not just
proxies, in reactive negotiation.  This makes them primarily the
responsibility of the negotiation subgroup.

>Dan DuBois, Software Animal             http://www.spyglass.com/~ddubois/

Koen.
Received on Saturday, 23 December 1995 06:19:27 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:31:38 EDT