Anne van Kesteren schrieb:
On Mon, 19 Mar 2007 22:29:36 +0100, Julian Reschke <[EMAIL PROTECTED]> wrote:
I do agree that this is a good rule, but as far as I can tell, you really need to state this (this==compliant implementations must implement all MUST-level requirements).

Why?

It seems to me that many specs phrase it that way, but maybe that's cosmetic.

Interesting.

If the major implementations do not do this consistently, this is IMHO a clear indicator that we should define new methods with clear semantics (removeHeader, getHeader, addHeader...).

It's a clear indicator that setRequestHeader() needs to be fixed. I changed its definition now to match what Internet Explorer does. Just ignoring a feature that has been implemented in different ways and going with something now doesn't solve any problem.

It now says:

"If the header argument is in the list of request headers the user agent must either use multiple headers, combine the values or use a combination of those (section 4.2, RFC 2616) and abort these steps. [RFC2616]"

What's the "and abort these steps" about?

Again, the current situation is problematic because clients can not reliably predict what will happen when they call setRequestHeader. Either get all vendors to implement the same thing, or add new methods and leave setRequestHeader underspecified.

I'm aiming for the former.

I'd prefer the latter, unless we can get UAs fixed. Can we?

"If the response is an HTTP redirect (status code 301, 302, 303 or 307), then it MUST be transparently followed (unless it violates security, infinite loop precautions or the scheme isn't supported). Note that HTTP ([RFC2616]) places requirements on user agents regarding the preservation of the request method during redirects, and also requires users to be notified of certain kinds of automatic redirections."

To follow a redirect on a non-safe method without the user's consent is forbidden in HTTP (see RFC2616, 10.2). No, notification is not sufficient. And yes, this also applies to POST.
 What text would you like us to use instead?

s/MUST/SHOULD/

There's already an indication of why this can fail. I think that's sufficient.


Also state that this only applies to safe methods.

I think that's already clear enough as well.

I don't think it's clear at all, unless you already know it. Currently the description doesn't even use the term "safe", so how can it be clear?


[...]

It certainly is a problem. Again, see <http://ietf.osafoundation.org:8080/bugzilla/show_bug.cgi?id=237>.

I think that's more a problem with the site in question than with XHR. For instance, with something as simple as a GET request you could steal private data.

No, the problem is the UA which issues an unsafe request without user interaction.

Best regards, Julian

Reply via email to