ホームページ > ウェブフロントエンド > jsチュートリアル > 「Access-Control-Allow-Origin」ヘッダーはクロスオリジン リソース共有 (CORS) をどのように制御しますか?

「Access-Control-Allow-Origin」ヘッダーはクロスオリジン リソース共有 (CORS) をどのように制御しますか?

Susan Sarandon
リリース: 2024-12-30 05:24:09
オリジナル
194 人が閲覧しました

How Does the `Access-Control-Allow-Origin` Header Control Cross-Origin Resource Sharing (CORS)?

「Access-Control-Allow-Origin」ヘッダーを理解する

「Access-Control-Allow-Origin」ヘッダーは重要な役割を果たしますクロスオリジン リソース共有 (CORS) での役割を果たし、ブラウザが別のオリジンから取得したリソースを共有できるかどうかを判断できるようにします。

最初は、応答ヘッダーに「Access-Control-Allow-」が含まれているという理由だけで、サイト A からダウンロードされた MyCode.js がサイト B へのクロスオリジン参照を作成できると信じていたかもしれません。出典: http://siteB.しかし、これは誤りです。

仕組み:

サイト A がサイト B にコンテンツを要求すると、サイト B は「Access-Control-Allow-Origin」で応答します。 ' ヘッダーを使用して、どのオリジンがそのリソースへのアクセスを許可されているかを示します。デフォルトでは、サイト B のコンテンツは他のオリジンからアクセスできません。サイト B が次のヘッダーを持つ応答を送信すると、

Access-Control-Allow-Origin: http://siteA.com
ログイン後にコピー
ログイン後にコピー

サイト A にそのコンテンツへのアクセス許可が付与されます。

リクエストが「」の場合、ブラウザは「プリフライト」OPTIONS リクエストを実行します。非単純」 (GET または POST 以外の HTTP 動詞、または非単純なリクエスト ヘッダーを使用します)。この OPTIONS リクエストでは、ブラウザはサーバーが実際のリクエストを受け入れるかどうかを確認します。サーバーが適切な 'Access-Control-Allow-Headers' および 'Access-Control-Allow-Methods' ヘッダーで応答した場合にのみ、ブラウザーは実際のリクエストを送信します。

クロスオリジン アクセスの有効化:

サイト A からサイト B へのアクセスを有効にするには、 「Access-Control-Allow-Origin」ヘッダー:

  1. サイト A のドメインを許可されたオリジンとして指定し、サイト B が正しいヘッダーでページを提供していることを確認します:

    Access-Control-Allow-Origin: http://siteA.com
    ログイン後にコピー
    ログイン後にコピー
  2. 単純でないリクエストには追加のプリフライト OPTIONS リクエストが含まれることを理解してください。実際のリクエストを許可するには、サーバーは適切な 'Access-Control-Allow-Headers' ヘッダーと 'Access-Control-Allow-Methods' ヘッダーを使用してこの OPTIONS リクエストに応答する必要があります。

これらの手順を実装することで、 「Access-Control-Allow-Origin」ヘッダーを使用して、サイト A からダウンロードした JavaScript コードを効果的に有効にして、サイト B のリソースにアクセスできます。

以上が「Access-Control-Allow-Origin」ヘッダーはクロスオリジン リソース共有 (CORS) をどのように制御しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート