Access-Control-Allow-Origin
CORS(クロスオリジンリソース共有)プリフライトへの応答でHTTPヘッダーが欠落している場合、それは次のことを意味しますか?
- サーバーはCORSをサポートしていませんか?または、
- サーバーはアクセスを拒否しますか?
サーバーがCORSをサポートしていない場合、ヘッダーが欠落していることは明らかです。
しかし、CORSをサポートしている場合、アクセスが拒否されるということですか?
そして逆に、CORSを実装するサーバーは、CORSが原因でアクセスが拒否されたことをクライアントにアナウンスするために何をすべきでしょうか?次のようなステータスで応答する必要があります403 Forbidden
か?
私が見つけたソースはすべて、どのヘッダーがクロスドメインアクセスを許可するために追加されるかを説明していますが、アクセスを拒否するために何をすべきかを説明していません。
**編集:間違った質問、私の悪い、以下の説明を参照**
私の質問の焦点は、私が期待したものと比較してトピックから外れているようです。実際、答えはサーバー構成に焦点を当てていますが、私にとって興味深いのはHTTP上のプロトコルでした。
より正確に言うと、クロスリクエストでサーバーにアクセスしようとし、
- サーバーにCORSヘッダーが含まれていなかったのに、XMLHttpRequestに含まれていた
- ブラウザは
swf
メディアによるクロスリクエストを受け入れました - メディアのリファラーを確認しましたが、そのiframeは実際にはリクエストのターゲットとは異なりました
- サーバーがCORSを実装しているかどうかさえ知りませんでした
- 私はサーバーを所有していません
HTTP内のCORSの理解度が低く、ある種のクロスリクエストが受け入れられたという事実から、サーバーがリクエストを拒否していたのか、何が間違っていたのか疑問に思いました。
それ以来解決したと思うので、回答を投稿します。