ブラウザーは、クロスオリジンリソース共有(CORS)を使用して、現在のドメイン以外のドメインのリソースをリクエストします。Experience Cloud Identity Service は、これらのクライアント側のクロスオリジンリソースリクエストを可能にする CORS 標準規格をサポートしています。古いブラウザーや CORS をサポートしていないブラウザー上では、JSONP リクエストに切り替わります。
同じ接触チャネルポリシーとは、Webブラウザーによって適用されるセキュリティ制御または制限です。 このレベルで適用される場合、Webブラウザー自体は、あるページから別のページに対して行われたリソースのリクエストを許可するかブロックするかを決定します。 リクエストが同じ接触チャネルのリクエストであるかどうかを判断するために、ブラウザーは次を比較します。
両方のページがこれらの特性を共有している場合、ブラウザーはリクエストの成功を許可し、共有していない場合はリソースリクエストをブロックします。
CORSは、異なるドメイン間でリソースをリクエストするための安全で効果的な方法を提供します。 CORS仕様には、リソースリクエストの送信、受信および評価にブラウザーが使用するHTTPヘッダーのセットが含まれています。 リソースリクエストの評価は、「」と呼ばれ preflight check
ます。 このチェックにより、ブラウザーとサーバーは、どのリクエストを許可またはブロックするかを決定できます。 プリフライトチェックは、リソースをリクエストするアプリ、API、スクリプトに対して透過的です。 リソースリクエストプロセスで重要な2つのヘッダーは、次のとおりです。
Origin
:リクエストのソースを識別するリクエストヘッダー。Access-Control-Allow-Origin
:リクエストがリクエスト元と共有できるかどうかを示す応答ヘッダー。これらのヘッダーがどのように動作するかを説明します。この例では、サイト www.finance-website.com に Experience Cloud ID サービスを実装した金融サービス会社があるとします。次の表に、CORSリクエストおよび応答ヘッダーがリソースへのアクセスをチェックする方法を定義します。
アクション | 説明 |
---|---|
リクエスト |
金融会社のページが読み込まれると、ブラウザーは dpm.demdex.net に対してリクエストをおこないます。これは、IDサービスが使用するデータ収集サーバー(DCS)のドメインへの呼び出しです。 このクロスドメインリクエストには、次のヘッダーが含まれます。
|
応答 |
DCSドメインからの応答には、金融会社のサイトに必要なリソースへのアクセスを与える以下のヘッダーが含まれます。
|
useCORSOnly も参照してください。
次の表に、IDサービスを使用する顧客にとってCORSがもたらす利点の一部を示します。
メリット | 説明 |
---|---|
セキュリティの向上 |
CORSは、XMLHttpRequest を使用してデータをリクエストおよび転送します 。 この方法は、JSONPリクエストよりも安全です。 DCSからの応答に含まれている可能性のある、任意のJavaScriptを実行する方法がないことを保証します。 CORS XMLHttpRequest応答ペイロードは、IDサービスJavaScriptによって解析され、単純にコールバック関数で実行されるわけではありません。
注意:Cookie を受け入れるために、XMLHttpRequest オブジェクトの withCredentials プロパティを true に設定する必要があります。このプロパティは、Chrome、Firefox、Internet Explorer(v10以降)、OperaおよびSafariでサポートされます。 |
パフォーマンスの向上 |
次の理由で、CORSはパフォーマンスの向上に役立ちます。
|