Re: Color content negotiation

Brian Behlendorf:
>On Wed, 6 Sep 1995, Koen Holtman wrote:
>> For example:
>> 
>>   Accept-Color: monochrome, multicolor;qco=0.5
>>   Accept-Color: 8bit, 2bit;qco=0.5, 24bit;qco=0.7
>
>We could come up with attributes of different media types and make 
>them separate Accept: parameters all day, but I don't think that would 
>get us very far.

I agree that the number of Accept-* headers is getting a bit large.

As for getting us far: I happen to think that preemptive color
negotiation is a very important feature to have, much more important
than, say, preemptive charset negotiation.

The accept-parameter: suggestion by Larry Masinter done elsewhere in
this thread would eliminate Accept-* header bloat by generalizing all
Accept-* headers.  I support this suggestion, it sounds like a very
good thing to have to me.

>  Instead let's roll this in with the 406 response

No, that won't do: it would require an extra request-response round
trip for each (inline) image having color variants, which would be
hideously inefficient.  (Right now, I am developing a system in which
a page can have 20 different small (12x16 pixel) inline icons on it.
Imagine the round trip overhead.)

Also, (see my `Preemptive and reactive content'), I'd like to have an
orthogonal protocol, in which Accept headers (allowing preemptive
content negotiation) are a way to speed up the most common cases in
reactive content negotiation.  Limiting the things that could be
negotiated on in preemptive negotiation to a subset of the things that
can be negotiated on in reactive negotiation seems to me
 1) to be completely unnecessary (even less so with accept-parameter:)
 2) to introduce all kinds of tradeoffs (is color negotiation
    important enough?  Is charset negotiation important enough?)
    that would have to be made by us, http-wg, instead of by individual
    users.

[...]
>It looks like the "color" or "bitdepth" or any 
>attribute is going to be at least mime-major-type specific, perhaps 
>subtype-specific too.

"color" is certainly not mime-major-type specific.  Mime types like
application/postscript (color postscript!) and text/html (html with
color extensions) would also benefit from it.

The more I think about it, the more I like

  accept-parameter: color=8bit, color=*;q=0.5, encoding=gzip

headers.  Having these would allow for a painless introduction of new
attributes too: once a new attribute ( (e.g. screen-width) becomes
popular in reactive negotiation, a browser (user) could move it into
the accept-parameter header to allow for faster preemptive
negotiation.  Currently, such a move would require an update of the
spec and rewrites of server software.

>        Brian

Koen.

Received on Thursday, 7 September 1995 16:30:53 UTC