AJAX 在 302 重定向之后调用将 origin 设置为 null

AJAX call following 302 redirect sets origin to null

我正在执行从域 A 到域 B 的 AJAX 调用。

我的域 B 检查 A 是否在允许的域列表中并将 Access-Control-allow-Origin 设置为域 A。到目前为止一切顺利。

域 B 通过使用 Location header.

向域 C 发送 302 重定向来响应请求

AJAX 调用跟随重定向到域 C 但具有 header:Origin: null.

我希望 origin header 在遵循重定向后被设置为域 A。

任何人都可以向我解释为什么将原点设置为 null 而不是域 A?

例子

  1. 从域 A 到 B 的请求

    GET / HTTP/1.1
    Host: domain-B.com
    Origin: http://domain-A.com
    
  2. 域 B 的响应:

    Access-Control-Allow-Origin: http://domain-A.com
    Location: http://domain-C.com
    
  3. AJAX 调用跟随重定向到域 C:

    GET  HTTP/ 1.1
    Host: domain-C.com
    Origin: null
    

看到这里,这似乎表明它与 "privacy-sensitive" 上下文有关。

Are there any browsers that set the origin header to "null" for privacy-sensitive contexts?

我在域 A 上设置了 Access-Control-Allow-Origin: null 并且有效。