CORS Builder
Générateur de configuration CORS (Cross-Origin Resource Sharing) pour vos APIs.
🌍 Origins autorisées
📨 Méthodes HTTP
📋 Headers autorisés
📤 Headers exposés
⚙️ Options avancées
Configuration générée
💡 Astuce: Les requêtes simples (GET, POST avec Content-Type standard) n'ont pas besoin de preflight. Les requêtes avec headers personnalisés ou méthodes PUT/DELETE déclenchent un preflight OPTIONS.
Comment fonctionne CORS
Requêtes simples (pas de preflight)
GET /api/data HTTP/1.1
Origin: https://app.example.com
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://app.example.com
Requêtes avec preflight
OPTIONS /api/data HTTP/1.1
Origin: https://app.example.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: Content-Type, Authorization
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://app.example.com
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Max-Age: 86400
Headers CORS
| Header | Direction | Description |
|---|---|---|
Access-Control-Allow-Origin |
Réponse | Origins autorisées |
Access-Control-Allow-Methods |
Réponse | Méthodes autorisées |
Access-Control-Allow-Headers |
Réponse | Headers autorisés |
Access-Control-Expose-Headers |
Réponse | Headers lisibles par JS |
Access-Control-Allow-Credentials |
Réponse | Autorise cookies/auth |
Access-Control-Max-Age |
Réponse | Cache du preflight (sec) |
Origin |
Requête | Origine de la requête |
Access-Control-Request-Method |
Requête (preflight) | Méthode demandée |
Access-Control-Request-Headers |
Requête (preflight) | Headers demandés |
Bonnes pratiques
- Ne jamais utiliser
*avec credentials - Le navigateur refuse - Lister explicitement les origines en production
- Limiter les méthodes au nécessaire
- Utiliser Max-Age pour réduire les preflight
- Exposer uniquement les headers nécessaires au client