Choisir l’Origin appelante
Saisissez protocole, hôte et port du frontend, pas l’URL de l’API. L’analyse locale accepte une Origin simulée ; le GET réel part obligatoirement de cette page.
HTTP / Débogage des requêtes
Collez la réponse réelle et, si nécessaire, celle d’OPTIONS. Le GET réseau reste manuel.
Les en-têtes collés restent dans le navigateur ; aucune requête n'est envoyée.
Collez des en-têtes de réponse pour commencer.
Cette Origin sert seulement à l'analyse locale. Le GET utilise l'Origin réelle de cette page.
Collez des en-têtes de réponse pour commencer.
Un journal serveur affiche 200 alors que fetch échoue ? Le vérificateur CORS distingue la livraison HTTP du droit de lecture accordé au JavaScript du navigateur.
Pour vérifier les en-têtes CORS, indiquez l’Origin de l’application, la méthode et les noms d’en-têtes. Une requête préliminaire peut nécessiter une seconde réponse OPTIONS ; le mode local n’interroge aucun serveur.
Une réponse reçue ne devient pas automatiquement lisible.
Un GET simple peut atteindre le serveur et renvoyer 200. Si la réponse réelle n’autorise pas l’Origin, le navigateur la cache au script. Le vérificateur CORS ne confond pas succès HTTP et permission.
POST JSON ou Authorization peuvent imposer une requête préliminaire. Sans réponse OPTIONS, son résultat demeure inconnu. Ajoutez statut, méthodes et en-têtes autorisés pour trouver la condition refusée.
Saisissez protocole, hôte et port du frontend, pas l’URL de l’API. L’analyse locale accepte une Origin simulée ; le GET réel part obligatoirement de cette page.
application/json, Authorization ou une méthode non simple peuvent lancer un préflight. Les noms d’en-têtes suffisent pour cette classification. Sans réponse OPTIONS, ne concluez pas à un passage réussi.
Toute modification désactive copie et téléchargement du rapport ancien. L’analyse automatique attend 350 ms ; désactivez-la pour utiliser le bouton ou Ctrl/Cmd + Enter.
Avec credentials: include, Allow-Origin: * échoue. Une Origin explicite demande aussi Allow-Credentials: true. L’en-tête Authorization et le mode credentials ne sont pas équivalents.
Le testeur CORS examine le statut OPTIONS, Allow-Methods et Allow-Headers, puis nomme précisément la méthode ou l’en-tête manquant.
Expose-Headers indique les champs accessibles au script ; Vary: Origin mérite examen quand la réponse varie selon l’appelant. Une seule réponse ne prouve pas la réflexion d’origines arbitraires.
Un clic envoie un GET sans identifiants depuis l’Origin de HeyUtils. Même un statut 404 peut rester lisible ; si fetch rejette, le navigateur cache statut et en-têtes.
Le serveur peut terminer la requête, puis le navigateur refuser de transmettre sa réponse à JavaScript. Vérifiez Allow-Origin dans la réponse réelle et OPTIONS séparément si un préflight est requis.
Un GET simple part directement puis sa réponse est contrôlée. POST JSON ou en-têtes personnalisés exigent parfois un OPTIONS préalable qui autorise Origin, méthode et noms d’en-têtes.
L’analyse locale ne transmet pas les en-têtes collés. En mode navigateur, seul un clic sur Lancer le GET envoie une requête sans identifiants à l’URL choisie.
Non. CORS limite la lecture depuis JavaScript dans le navigateur. Authentification et autorisation doivent rester côté serveur ; curl et Postman n’appliquent pas cette règle de lecture.
Pour credentials: include, le serveur doit renvoyer l’Origin exacte et Allow-Credentials: true. Un joker Allow-Origin: * ne peut pas exposer la réponse au script.
Un autre cas à expliquer ?
Copiez depuis les DevTools la réponse réelle et, au besoin, OPTIONS. Le vérificateur CORS sépare les deux décisions avant toute modification du serveur.
Analyse locale initiale ; GET réseau seulement sur clic.