web-dev-qa-db-ja.com

HTMLページのクロスドメインリクエストでCookieが送信され、JSのXHRでは送信されないのはなぜですか?

HTMLタグとform属性および送信ボタンを使用してactionページを作成する場合。 [送信]をクリックするとすぐに、URL属性の値であるactionにリクエストが(Cookieとともに)送信されます。

ただし、JSのXHR Cookieを使用して同じドメインにクロスドメインリクエストを送信すると、Cookieは送信されません。

どちらの場合も、リクエストは別のドメインに送信されますが、Cookieは最初のケースで送信されるのはなぜですか?

2
Nix

withCredentials がtrueに設定されている場合、CookieはXHRで送信できます。クロスオリジンフォームの送信またはクロスオリジンインクルードのリソースとは逆に、アプリケーションが実際にCookieを送信するかどうかを制御します。クロスサイトリクエストにCookieを含めないほうが安全であるため、これがデフォルトであり、アプリケーションは必要に応じて明示的に有効にする必要があります。

2
Steffen Ullrich