Aller au contenu
uencoder

CORS

CORS (Cross-Origin Resource Sharing) est un mécanisme de sécurité du navigateur qui utilise des en-têtes HTTP pour contrôler si une page peut accéder à des ressources d'une autre origine, empêchant les lectures intersites.

Objectif

Assouplit la politique de même origine pour autoriser les appels d'API cross-origin légitimes, tout en empêchant les sites malveillants de lire les réponses cross-origin.

Mécanisme

Le navigateur ajoute un en-tête Origin aux requêtes cross-origin. Les requêtes simples sont envoyées directement ; celles avec preflight passent par une vérification OPTIONS des méthodes et en-têtes autorisés par le serveur. Le serveur autorise l'accès en renvoyant des en-têtes comme Access-Control-Allow-Origin. Les requêtes avec identifiants exigent en plus Allow-Credentials.

Cas d’usage

  • Appels d'API cross-origin
  • Polices et images de CDN
  • Agrégation frontend entre microservices
  • Intégration de SDK tiers

Exemples

  • entrée
    Origin: https://a.com → https://b.com
    Output
    b.com returns the ACAO header to authorize

    Preflight followed by the actual request

Erreurs courantes

The browser blocks the response when the server returns no CORS headers
Configure the Access-Control-Allow-* headers

Termes associés

References