在 XHR 响应中设置 Cookie:不同的浏览器如何处理这个问题?

信息安全 应用安全 javascript 阿贾克斯
2021-09-02 04:26:22

如果我发送一个 XHR 请求example.com并且响应有Set-Cookie: dummyCookie=dummy 响应。不同的浏览器如何处理这个问题?

  • 任何浏览器的任何版本是否为 example.com 设置了 cookie,以便它将在后续请求(符合 SOP 的请求)中传输到 example.com
3个回答

我不确定 browsershots 是否会处理这个问题——因为它似乎主要关注外观,而不是行为。

一个 XHR 响应,如果它发出一个“Set-Cookie”标头,它将被包含在进一步的请求中。来自http://www.w3.org/TR/XMLHttpRequest

 If the user agent supports HTTP State Management it should persist, discard
 and send cookies (as received in the Set-Cookie response header, and sent in
 the Cookie header) as applicable.

我刚刚在 FF13 中测试过,XHR 请求设置了 cookie 值。

XHR 请求的行为取决于浏览器的实现。您的问题的答案(关于Set-CookieXHR SOP 相关的所有内容)都在这里: http ://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest

是的,如果您被允许发送请求,我相信浏览器会接受来自服务器的 cookie。我相信这在所有现代浏览器上都应该是正确的。

但如果有疑问,您可以随时自行测试。 Browsershots是处理这类事情的好工具,而且它是免费的。