CORS

「Cross-Origin Resource Sharing」の略です。CORSを使用すると、Webページ上のスクリプトが、他のドメインからリソースを要求できます。ほとんどのWebブラウザーは、セキュリティ上の理由から、この種類の要求をデフォルトでブロックします。

Webページは、要求元がHTMLであれば、別のドメインからリソースを要求できます。たとえば、<head>セクションでは、CSSファイル、フォント、他のドメインにあるJSファイルなどのリソースを参照できます。Google Analyticsのスクリプト、jQueryライブラリ、別のサーバーでホストされているフォントなどがその例です。同様に、<body>では、CDNまたは他のドメインから画像を要求できます。HTML内のクロスオリジンリソース要求には、CORSの許可は必要ありません。

スクリプトまたはiframe要素がクロスオリジン要求を行う場合は、CORSが必要です。たとえば、ページの読み込み後に実行されるAJAXメソッドは、別のドメインからリソースを要求できません。CORSはこのブラウザーのデフォルト設定を上書きし、要求を通過させます。

CORSは、「アクセス制御」HTTPヘッダーを使用して実装されます。サーバー管理者は、Webページにアクセスしたときにクライアントのブラウザーへ送信されるレスポンスヘッダーを追加または変更できます。ApacheサーバーやIISサーバーに適用できるこれらの設定は、サイト固有にすることも、サーバー全体に適用することもできます。以下は、一般的な要求ヘッダーとレスポンスヘッダーです。

CORS要求ヘッダー:

  • Origin
  • Access-Control-Request-Method
  • Access-Control-Request-Headers

CORSレスポンスヘッダー:

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods
  • Access-Control-Expose-Headers

CORSの例

techterms.com上のスクリプトがGETアクションを使用してsharpened.comからリソースを要求すると、次の要求ヘッダーを送信することがあります。

Origin: https://techterms.com
Access-Control-Request-Method: GET

要求を許可するため、sharpened.comは次のヘッダーを返すことがあります。

Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET

Access-Control-Allow-Originには、特定のドメインまたはアスタリスク(*)を使用したワイルドカードを設定できます。ワイルドカード設定では、すべてのドメインからのクロスリソース要求が許可されるため、セキュリティ上のリスクになる可能性があります。Access-Control-Allow-Methodsには、PUT、POST、DELETEなどを設定できます。また、すべてのメソッドを許可するワイルドカード(*)設定も使用できます。

更新日 November 3, 2020 著者: Per C.

quiz知識をテストする

Which of the following is not an IPsec protocol?

A
ESP
0%
B
PPP
0%
C
IKE
0%
D
AH
0%
Correct! Incorrect!     View the IPsec definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのCORSの定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。