VAST 向けのクロスオリジン リソース共有(CORS)

最新のブラウザでは、JavaScript のネットワーク リクエストに同じオリジンのセキュリティ制限が適用されます。つまり、あるオリジンから実行されるウェブ アプリケーションは、別のオリジンから提供されるデータを取得できません。VAST の場合、このセキュリティ制限により、JavaScript VAST レンダリング コードから作成された JavaScript XMLHttpRequests が別の送信元から配信された VAST 広告レスポンスを読み取ることができなくなります。

このセキュリティ制限は、あるオリジンが、そのユーザーの許可なしに、ユーザーがログインした可能性がある別のオリジンからデータを読み取ることができるという問題を防ぐためです。広告サーバーは広告プレーヤーとは異なるドメイン上にあることが多いため、この制限によって、JavaScript 環境で配信される VAST に問題が発生します。

クロスオリジン リソース シェアリング(CORS)ヘッダーは、異なるオリジン間での共有を可能にする W3C ドラフト仕様です。VAST 広告サーバーのレスポンスを JavaScript 環境で配信するには、次の HTTP CORS ヘッダーを含める必要があります。

Access-Control-Allow-Origin: <origin header value>
Access-Control-Allow-Credentials: true
この HTTP ヘッダーを使用すると、どのオリジンの広告プレーヤーでも、広告サーバーのオリジンから VAST レスポンスを読み取ることができます。Access-Control-Allow-Origin: の値は、広告リクエストで送信される Origin ヘッダーの値になります。Access-Control-Allow-Credentials: ヘッダーを使用すると、Cookie を適切に送受信できます。

詳しくは、クロスオリジン リソース シェアリングに関する W3C ドラフト仕様をご覧ください。