Ian Hickson schrieb:
On Wed, 2 Aug 2006, Julian Reschke wrote:
If compatibility to existing code (which doesn't check for null) is the
driver here, then please consider adding a new method such as
"isHeaderPresent(headername)".
Purely out of interest, could you give the use case?
Only for a related problem: early versions of the WebDAV REDIRECTREF
extension defined a header like that
(<http://greenbytes.de/tech/webdav/draft-ietf-webdav-redirectref-protocol-06.html#rfc.section.11.2>).
It was subsequently changed because it couldn't be used with Microsoft's
XmlHttpRequest object. I wouldn't be surprised if similar headers have
been defined by others (but possibly not published through the IETF
process).
Speaking of which, it might be good if
<http://www.w3.org/TR/XMLHttpRequest/#dfn-setrequestheader> would
clarify that setting a request header to "" is legal, and that the
header really MUST be set to that value.
Finally, looking at the current text over there:
"# Nothing MUST be done if the header or value arguments contain any
U+000A LINE FEED or U+000D CARRIAGE RETURN characters, or if the header
argument contains any U+0020 SPACE or U+003A COLON charecters.
# Nothing MUST be done if the header argument matches Accept-Charset,
Accept-Encoding, Content-Length, Expect, Date, Host, Keep-Alive,
Referer, TE, Trailer, Transfer-Encoding or Upgrade case-insensitively."
This is extremely misleading. "Nothing MUST be done..." essentially
means that everything is optional here. I think what it intends to say
is something like... "The header MUST NOT be changed if....".
Best regards, Julian