W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > January to April 1997

Re: A broken browser

From: Alexei Kosut <akosut@nueva.pvt.k12.ca.us>
Date: Wed, 1 Jan 1997 21:41:19 -0800 (PST)
To: "M. Hedlund" <hedlund@best.com>
Cc: "Gregory J. Woodhouse" <gjw@wnetc.com>, http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Message-Id: <Pine.HPP.3.95.970101213356.16569B-100000@ace.nueva.pvt.k12.ca.us>
On Wed, 1 Jan 1997, M. Hedlund wrote:

> However, I disagree that the spec simply doesn't spell this out but does
> imply it (as you seem to suggest).  Section 3.9 says that q values merely
> indicate relative preference, rather than absolute quality.  Under that
> definition, q=0 would mean, "This is the least desirable media type of the
> media types listed in the Accept header."  Therefore, I interpret the
> current spec to say that a server is never required to send a 406 if the
> client sends _any_ q value with an available media type in the Accept
> header. 
> 
> In other words, the only time a 406 should appear is if the client sends an
> Accept header without any listing of media types available to fulfill the
> request:
> 	- Browser sends Accept: text/html, image/gif
> 	- Server has image/jpeg only; responds with 406.
> Since most browsers send '*/*' as part of the Accept header, 406's should
> be extremely rare.

Yes. But it is my understanding that the spec does not define methods
of negotiation. As long as the server is careful to set the right
cache-controlling headers (in most cases, probably just Vary), the
server can decide what to send the browser however the heck it
wants. All the spec defines (and all it should define, IMHO), is the
format of Accept, the format of Vary:, the 406 response, etc..., but
it doesn't say how the server should interpret them (this is something
the transparent conneg drafts have done, but that's something
seperate).

In other words, the server would be perfectly within its rights to
send 406 even if the browser sent "Accept: text/html;q=1.0" and the
server has a text/html variant. It'd be stupid behavior, but it's to
spec.

In this case, though, I think Apache is correct. The client sent
q=0.0, so obviously text/html is "not acceptable". If it really meant
"not perferable", it should send 0.001 (or anything less than the
other entries, really). How else are you going to say "I'll take any
text but HTML" than "Accept: text/*, text/html;q=0.0"?

-- 
________________________________________________________________________
Alexei Kosut <akosut@nueva.pvt.k12.ca.us>      The Apache HTTP Server
URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/
Received on Wednesday, 1 January 1997 21:45:17 EST

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