Reason: CORS request not HTTP

Grund

Reason: CORS request not HTTP

Was ist schiefgelaufen?

CORS-Anfragen dürfen nur das HTTP- oder HTTPS-URL-Schema verwenden, aber die URL, die in der Anfrage angegeben ist, hat einen anderen Typ. Dies tritt häufig auf, wenn die URL eine lokale Datei angibt, die das file:///-Schema verwendet.

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie HTTPS-URLs verwenden, wenn Sie Anfragen mit CORS durchführen, wie z.B. fetch(), XMLHttpRequest, Web Fonts (@font-face) und WebGL Texturen sowie XSL-Stylesheets.

Laden einer lokalen Datei

Lokale Dateien aus demselben Verzeichnis und Unterverzeichnissen wurden historisch als vom gleichen Ursprung stammend behandelt. Dies bedeutete, dass eine Datei und alle ihre Ressourcen während des Testens ohne Auslösen eines CORS-Fehlers aus einem lokalen Verzeichnis oder Unterverzeichnis geladen werden konnten.

Leider hatte dies Sicherheitsimplikationen, wie in diesem Hinweis beschrieben: CVE-2019-11730. Viele Browser, einschließlich Firefox und Chrome, behandeln jetzt alle lokalen Dateien standardmäßig als undurchsichtige Ursprünge. Infolgedessen führt das Laden einer lokalen Datei mit eingeschlossenen lokalen Ressourcen jetzt zu CORS-Fehlern.

Entwickler, die lokale Tests durchführen müssen, sollten nun einen lokalen Server einrichten. Da alle Dateien vom selben Schema und derselben Domain (localhost) bereitgestellt werden, haben sie alle denselben Ursprung und lösen keine Fehler für ursprungsübergreifende Anforderungen aus.

Hinweis: Diese Änderung steht im Einklang mit der URL-Spezifikation, die das Ursprungsverhalten für Dateien der Implementierung überlässt, aber empfiehlt, dass Datei-Ursprünge als undurchsichtig behandelt werden, wenn Zweifel bestehen.

Siehe auch