W3C home > Mailing lists > Public > public-webapi@w3.org > May 2008

Re: XHR LC comments

From: Julian Reschke <julian.reschke@gmx.de>
Date: Thu, 15 May 2008 21:14:12 +0200
Message-ID: <482C8B84.5070707@gmx.de>
To: Laurens Holst <lholst@students.cs.uu.nl>
CC: Anne van Kesteren <annevk@opera.com>, public-webapi@w3.org

Laurens Holst wrote:
> Julian Reschke schreef:
>> Sorry, was reading one thing, but thinking about something else.
>>
>> Thinking of it, could you please add a clarification that setting to 
>> an empty string is legal, and MUST NOT be ignored? I recall that 
>> Microsoft's original XHR (ActiveX) implementation got that wrong, not 
>> setting the header at all.
> 
> When invoking request.setRequestHeader('Accept', ''):

Laurens, thanks a *lot* for testing this.

> - Firefox 3b5 removes the Accept header

Ouch. Has this been raised as a bug yet?

> - Internet Explorer 8 (in IE7 mode) sends Accept: */*

Ouch. Has this been raised as a bug yet?

> - Safari 3.1.1 sends Accept:

Good.

> - Opera 9.24 sends Accept: text/html, application/xml;q=0.9, 
> application/xhtml+xml, image/png, image/jpeg, image/gif, 
> image/x-xbitmap, */*;q=0.1

Not good.

> When invoking request.setRequestHeader('Accept', null):
> 
> - Firefox 3b5 removes the Accept header

Makes sense, but isn't what XHR1 requires.

> - Internet Explorer 8 (in IE7 mode) sends Accept: null

You really mean the four characters n-u-l-l? Ouch,

> - Safari 3.1.1 sends Accept: null
> - Opera 9.24 sends Accept: text/html, application/xml;q=0.9, 
> application/xhtml+xml, image/png, image/jpeg, image/gif, 
> image/x-xbitmap, */*;q=0.1

I notice that none of the browsers does what XHR1 requires, but at least 
*one* (FF) does something useful.

> So it is clear that here, too, browsers are in great disagreement. I am 
> not sure what the correct approach here is, though '' meaning setting 
> “Accept” and null meaning removal of the header sounds sensible.
> 
> Note by the way that Opera always prepends the set Accept header to its 
> default value, resulting in e.g. Accept: */*, text/html, 
> application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, 
> image/gif, image/x-xbitmap, */*;q=0.1 when invoking 
> request.setRequestHeader('Accept', null);

That should be considered a bug.

> I can’t believe how horribly broken this all is. No wonder few people 
> depend on this header. Fortunately, as a result it can also be fixed 
> without breaking much.
> 
> I’ve also posted these results at http://www.grauw.nl/blog/entry/470 , 
> the page source contains a test case.

BR, Julian
Received on Thursday, 15 May 2008 19:18:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 15 May 2008 19:18:50 GMT