Spec-Zone.ru › HTTP

Ошибки: 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, которая оставляет поведение источника для файлов реализации, но рекомендует обрабатывать источники файлов как непрозрачные, если есть сомнения.

См. также

  • Ошибки CORS
  • Введение в CORS
  • Что такое 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API