MIME types and HTTP content negotiation (was 'Review solicited for application/cellml-1.0+xml...)

Larry Masinter LMM at acm.org
Mon Apr 24 18:31:58 CEST 2006

Apparently my message 
has caused some discussion here and elsewhere, so I thought I
should correct myself.

I misspoke about 'HTTP content negotiation'. As Martin points
out, content negotiation works fine for 'accept-language', and
it is frequently used with 'user-agent'. It's only content
negotiation based on 'accept:' that has limited applicability,
mainly to cases where there are a limited number of choices.

And HTTP content negotiation based on MIME types and the 'accept'
header wasn't such a bad idea at the time it was introduced into
HTTP, because at the time there were relatively few content-types
a browser actually could be expected to support. The web at the time
was mainly text and HTML. There weren't any IMG tags. (It was also one
of the reasons why it wasn't such a bad idea to open a separate
TCP connection for every HTTP request, because 'a web page' could
be retrieved with a single request.)

It was only the introduction of using separate HTTP requests
for embedded images (rather than a compound document format),
and the explosion of image types and other kinds of embedded
content that made using Accept: with a list of content types
impractical for the 'web browsing' case (and also required some
changes to HTTP for persistent connections.)


More information about the Ietf-types mailing list