On Mon, 07 Dec 2009 16:42:31 +0100, Julian Reschke <[email protected]> wrote:
I think XHR needs to elaborate on how non-ASCII characters in request headers are put on the wire, and how non-ASCII characters in response headers are transformed back to Javascript characters.

Hmm yeah. I somehow assumed this was easy because everything was restricted to the ASCII range. It appears octets higher than 7E can occur as well per HTTP.


For request headers, I would assume that the character encoding is ISO-8859-1, and if a character can't be encoded using ISO-8859-1, some kind of error handling occurs (ignore the character/ignore the header/throw?).

From my limited testing it seems Firefox, Chrome, and Internet Explorer use UTF-8 octets. E.g. "\xFF" in ECMAScript gets transmitted as C3 BF (in octets). Opera sends "\xFF" as FF.


For response headers, I'd expect that the octet sequence is decoded using ISO-8859-1; so no specific error handling would be needed (although the result may be funny when the intended encoding was

Firefox, Opera, and Internet Explorer indeed do this. Chrome decodes as UTF-8 as far as I can tell.


I'd love some implementor feedback on the manner.


--
Anne van Kesteren
http://annevankesteren.nl/

Reply via email to