- 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
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 UTC