Re: Content negotiation

Brian Behlendorf (brian@organic.com)
Wed, 8 Nov 1995 00:41:25 -0800 (PST)


Sigh.

Folks, we really need to get this system working.

It's well past the deadline, we got an "incomplete" for the semester but
the prof has given us another chance, so let's not mess it up this time,
K?

There are TWO chief weapons, er, excuse me, TWO chief things that
browser vendors need to do to support content negotiation.

1) Browsers need to be honest about what they send. If you support
text/x-netscape-html, say so! If you support application/director, say
so! If you can shuffle director off to a helper app, but can't inline
it, don't send it in the Accept:s of inlined object requests. You don't
have to put every mime type in the accept header, just the most common.
As Koen noted, if a browser is noticing that it's having to default to
reactive content negotiation for a large number of hits it can adjust its
Accept:s accordingly - it might also guess based on filename extension as
an optimization, too. Because if none is acceptible, it can fall back on
Thing #2:

2) A response mechanism for 406 None Acceptible. In
<URL:http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-v10-spec-01.txt>,
which has been obsoleted by the BCP HTTP/1.0 but from which most of the
new parts of HTTP/1.1 will come, section 8.28 clearly outlines a system
which would be adequate for our needs. Can we talk about its adequacy for
the purposes of copntent negotiation, for which is was clearly intended,
or are we going to keep passing the "406's format's not defined" buck
until someone gets shot? If the definitions in that system appear
alright, why not use it? What's not there that needs to be? If I get a
few nodding heads we can commit to implementing it in Apache.

I'm working on a "Content negotiation for dummies" paper to be circulated
soon - I'd like to be a little more optimistic about things than the
paper currently is.

As for writing conditional HTML to be bugwards-compatible with all browsers -
how are people using broken software supposed to know their software is
broken? Makes me pine for a future where all objects render themselves.

Brian

--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
brian@organic.com brian@hyperreal.com http://www.[hyperreal,organic].com/