«Запросы между источниками поддерживаются только для HTTP» — это сообщение об ошибке, которое обычно появляется при выполнении запроса XMLHttpRequest или запроса на выборку с веб-страницы, обслуживаемой по HTTPS, в другой домен с использованием HTTP. Эта ошибка связана с ограничениями безопасности, введенными веб-браузерами для предотвращения атак с использованием межсайтовых сценариев.
Чтобы преодолеть эту ошибку, вы можете рассмотреть следующие методы:
-
Используйте HTTPS. Если целевой домен поддерживает HTTPS, обязательно используйте в своем запросе HTTPS вместо HTTP. Это гарантирует, что и веб-страница, и запрошенный ресурс загружаются через безопасное соединение.
-
Включить CORS. Если у вас есть контроль над серверным кодом целевого домена, вы можете включить совместное использование ресурсов между источниками (CORS) на сервере. CORS позволяет вам определить, каким доменам разрешено отправлять запросы к серверу из разных источников.
-
Прокси-сервер: настройте прокси-сервер в своем собственном домене, который будет служить посредником между вашей веб-страницей и целевым доменом. Вместо того, чтобы напрямую запрашивать ресурс из целевого домена, ваша веб-страница отправляет запросы к прокси-серверу, который затем перенаправляет запрос в целевой домен. Таким образом, политика одного и того же происхождения не нарушается.
-
JSONP (JSON с дополнением): JSONP — это метод, который позволяет выполнять запросы между источниками путем динамического добавления тега
на веб-страницу. Ответ сервера должен быть заключен в вызов функции JavaScript, а сервер должен поддерживать JSONP. -
Прокси-сервер на стороне сервера: сделайте запрос между источниками со стороны сервера, а не со стороны клиента. Ваш веб-сервер может действовать как прокси и получать данные из целевого домена. Затем клиентский код может отправить запрос на ваш собственный сервер, который извлекает данные из целевого домена и отправляет их обратно клиенту.