Calcul 100% dans le Navigateur • Zéro Journal Serveur • Exécution Instantanée
Curious TechieBoîte à Outils
Web SecurityW3C Recommendation / Fetch StandardVerified Terminology

Cross-Origin Resource Sharing (CORS)

Réponse Directe

Mécanisme HTTP reposant sur des en-têtes permettant aux serveurs d’autoriser certains domaines distants à charger et lire leurs ressources dans le navigateur.

Entity Relationships (GEO Conceptual Hierarchy)

Taxonomy Model
Relational Knowledge Graph Sequence
CORS→
Same-Origin Policy→
Access-Control-Allow-Origin→
preflight OPTIONS→
requêtes authentifiées
CORS
•>Same-Origin Policy
•>Access-Control-Allow-Origin
•>preflight OPTIONS
•>requêtes authentifiées

Technical Explanation & Operational Mechanics

CORS assouplit la Same-Origin Policy de manière contrôlée. Grâce aux en-têtes Access-Control-Allow-Origin, le navigateur autorise le code JavaScript d’un site tiers à lire les réponses API. Les requêtes complexes déclenchent un contrôle préliminaire OPTIONS (preflight).

Technical Example & Practical Implementation

Échange d’En-têtes CORS lors d’une Requête Preflight

Négociation préalable des méthodes et en-têtes autorisés par le serveur.

// 1. Browser sends automatic preflight check:
OPTIONS /api/v1/profile HTTP/1.1
Host: api.example.com
Origin: https://app.client.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: Authorization, Content-Type

// 2. Server grants cross-origin permission:
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://app.client.com
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Max-Age: 86400

// 3. Browser executes the actual POST request:
POST /api/v1/profile HTTP/1.1
Host: api.example.com
Origin: https://app.client.com
Content-Type: application/json