Raison : La requête CORS n'utilise pas HTTP
Raison
Raison : La requête CORS n'utilise pas HTTP
En anglais :
Reason: CORS request not HTTP
Quel est le problème ?
Les requêtes CORS ne peuvent utiliser que le schéma d'URL HTTP ou HTTPS, mais l'URL définie dans la requête est d'un type différent.
Cela se produit souvent si l'URL définit un fichier local, en utilisant le schéma file:///.
Pour corriger ce problème, assurez-vous d'utiliser des URL HTTPS lors de requêtes impliquant du CORS, comme fetch(), XMLHttpRequest, les polices Web (@font-face), les textures WebGL et les feuilles de style XSL.
Charger un fichier local
Les fichiers locaux provenant du même répertoire et des sous-répertoires étaient historiquement considérés comme provenant de la même origine. Cela signifiait qu'un fichier et toutes ses ressources pouvaient être chargés depuis un répertoire local ou un sous-répertoire lors des tests, sans déclencher d'erreur CORS.
Malheureusement, cela a des implications en matière de sécurité, comme indiqué dans cet avis : CVE-2019-11730 (angl.). De nombreux navigateurs, y compris Firefox et Chrome, considèrent désormais que tous les fichiers locaux ont des origines opaques (par défaut). Par conséquent, le chargement d'un fichier local avec des ressources locales incluses entraîne désormais des erreurs CORS.
Les développeur·euse·s qui ont besoin de réaliser des tests locaux doivent désormais mettre en place un serveur local.
Comme tous les fichiers sont servis depuis le même schéma et le même domaine (localhost), ils ont tous la même origine et ne déclenchent pas d'erreurs inter-origines.
Note : Ce changement est en accord avec la spécification sur les URL (angl.), qui laisse l'implémentation libre du comportement quant à l'origine des fichiers, mais qui recommande, en cas de doute, de considérer les origines des fichiers comme opaques.