Partage de ressources entre origines multiples (CORS) pour VAST

Les navigateurs modernes appliquent des restrictions de sécurité de même origine aux requêtes réseau JavaScript, ce qui signifie qu'une application Web qui s'exécute à partir d'une origine ne peut pas récupérer les données diffusées à partir d'une autre origine. Pour VAST, cette restriction de sécurité empêche le code JavaScript XMLHttpRequests créé à partir du code de rendu VAST JavaScript de lire une réponse d'annonce VAST diffusée à partir d'une autre origine.

Cette restriction de sécurité vise à éviter les problèmes lorsqu'une origine peut lire les données d'une autre origine à laquelle un utilisateur peut être connecté sans l'autorisation de cet utilisateur. La restriction pose des problèmes pour la diffusion VAST dans un environnement JavaScript, car un ad server se trouve souvent sur un domaine différent de celui du lecteur d'annonces.

Les en-têtes CORS (Cross-Origin Resource Sharing) sont au format W3C et ont été conçus pour permettre le partage entre différentes origines. Pour être diffusable dans un environnement JavaScript, la réponse d'un ad server VAST doit inclure les en-têtes HTTP CORS suivants :

Access-Control-Allow-Origin: <origin header value>
Access-Control-Allow-Credentials: true
Cet en-tête HTTP permet à un lecteur publicitaire, quelle que soit son origine, de lire la réponse VAST à partir de l'origine de l'ad server. La valeur de Access-Control-Allow-Origin: doit correspondre à celle de l'en-tête Origin envoyé avec la demande d'annonce. L'en-tête Access-Control-Allow-Credentials: garantit que les cookies sont envoyés et reçus correctement.

Pour en savoir plus, consultez les spécifications du W3C sur le partage des ressources entre origines multiples.