Ошибки: CORSRequestNotHttp
Причина: Запрос CORS не HTTP
Причина
Reason: CORS request not HTTP
Что пошло не так?
Запросы CORS могут использовать только схемы HTTP или HTTPS, но URL, указанный в запросе, имеет другой тип. Это часто происходит, если URL указывает на локальный файл, используя схему file:///.
Чтобы исправить эту проблему, убедитесь, что вы используете HTTPS-URL при отправке запросов, связанных с CORS, таких как XMLHttpRequest, API Fetch, шрифты веб-сайта (@font-face) и текстуры WebGL.
Загрузка локального файла
Локальные файлы из одной и той же директории и поддиректорий исторически рассматривались как файлы из одного источника. Это означало, что файл и все его ресурсы могли загружаться из локальной директории или поддиректории во время тестирования без срабатывания ошибки CORS.
К сожалению, это имело последствия для безопасности, как указано в этом уведомлении: CVE-2019-11730. Многие браузеры, включая Firefox и Chrome, теперь обрабатывают все локальные файлы как имеющие непрозрачные источники (по умолчанию). В результате загрузка локального файла с включенными локальными ресурсами теперь приведет к ошибкам CORS.
Разработчики, которым необходимо проводить локальное тестирование, теперь должны настроить локальный сервер. Поскольку все файлы предоставляются из одной схемы и домена (localhost), у всех них один и тот же источник, и они не вызывают ошибок кросс-источника.
Примечание: Это изменение соответствует спецификации URL, которая оставляет поведение источника для файлов реализации, но рекомендует обрабатывать источники файлов как непрозрачные, если есть сомнения.
См. также
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSRequestNotHttp