web-dev-qa-db-ja.com

AJAX 302リダイレクトに続く呼び出しは、Originをnullに設定します

ドメインAからドメインBへのAJAX呼び出しを行っています。

私のドメインBは、Aが許可されたドメインのリストにあるかどうかを確認し、Access-Control-allow-OriginをドメインAに設定します。これまでのところ、問題ありません。

ドメインBは、Locationヘッダーを使用してドメインCに302リダイレクトを送信することでリクエストに応答します。

AJAX呼び出しはドメインCへのリダイレクトに従いますが、ヘッダーがあります:Origin: null

リダイレクトを追跡した後、OriginヘッダーがドメインAに設定されることを期待していました。

OriginがドメインAではなくnullに設定されている理由を誰かに説明してもらえますか?

  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
    
21
Brrrr

ここを参照してください。これは、「プライバシーに敏感な」コンテキストに関連していることを示唆しているようです。

プライバシーに配慮したコンテキストでOriginヘッダーを「null」に設定するブラウザはありますか?

8
Richard Cross