最新のブラウザでは、JavaScript ネットワーク リクエストに同一生成元セキュリティ制限が適用されます。つまり、ある生成元から実行されているウェブ アプリケーションは、別の生成元から配信されたデータを取得できません。VAST の場合、このセキュリティ制限により、JavaScript VAST レンダリング コードから行われた JavaScript XMLHttpRequests が、別のオリジンから配信された VAST 広告レスポンスを読み取ることができなくなります。
このセキュリティ制限は、ユーザーがログインしている可能性のある別のオリジンから、ユーザーの許可なしにオリジンがデータを読み取れる問題を防止するためのものです。この制限は、JavaScript 環境で配信される VAST に問題を引き起こします。広告サーバーは、広告プレーヤーとは異なるドメインにあることが多いためです。ただし、クロスオリジン リソース シェアリング(CORS)ヘッダーは、異なるオリジン間での共有を許可することでこの制限を回避する W3C 勧告です。
CORS ヘッダー
クロスオリジン問題を回避するため、SDK からのリクエストに対する VAST 広告サーバーのレスポンスには、次の HTTP CORS ヘッダーを含める必要があります。
Access-Control-Allow-Origin: <origin header value> Access-Control-Allow-Credentials: true
これらのヘッダーにより、任意のオリジンの広告プレーヤーが広告サーバーのオリジンから VAST レスポンスを読み取ることができます。Access-Control-Allow-Origin
の値を広告リクエストとともに送信される Origin
ヘッダーの値に設定し、Access-Control-Allow-Credentials
を true
に設定して、Cookie が正しく送受信されるようにします。
CORS を有効にする手順については、クロスオリジン リソース シェアリングを有効にするをご覧ください。