Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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.

Voir aussi