Если вы являетесь фронтенд-разработчиком, вы наверняка сталкивались с этой ошибкой CORS. Происхождение означает, где инициируется запрос или сценарий. Он также включает используемый протокол, а также используемый порт (вы не увидите порт в URL-адресах, поскольку большинство реальных веб-сайтов используют стандартный порт https 443). Пример https://medium.com — это источник веб-сайта-носителя, все запросы и скрипты, выполняемые на этом веб-сайте, имеют этот источник.

Теперь подумайте: вы хотите встроить изображение из примера другого веб-сайта — pinterest.com. вы создаете тег изображения и в src вставляете ссылку на изображение. Теперь, если вы размещаете этот сайт, веб-страница не будет загружать изображение, а в консоли отображается ошибка CORS. Это мера безопасности, принимаемая браузером. Происхождение носителя https://medium.com не совпадает с происхождением источника изображения https://in.pinterest.com/, поэтому браузер не будет отображать изображение.

Вы также не можете получить данные из перекрестного источника. Важность cors заключается в получении таких ресурсов, как файлы javascript, doc.etc. Хорошо, учтите, мне нужно что-то из Facebook, и я увидел, как выполняется выборка информации о профиле с помощью инструмента разработчика; Я копирую выборку и использую ее на своем собственном веб-сайте. Если Cors там нет, выборка будет работать, и наиболее конфиденциальная информация была доставлена ​​какому-то несанкционированному лицу.

Как преодолеть эту ошибку CORS?
Теперь мне не нужна безопасность cros для моего сайта или я не хочу, чтобы определенный сайт имел доступ к ресурсам моего сайта. Что мы можем сделать, так это установить Access-Control-Allow-Origin на стороне сервера. Пример: я хочу разрешить «instagram.com» получать доступ и использовать мой файл js или doc, и я установил это на стороне сервера (cors({origin: 'https://instagram.com'}) ). Теперь, когда запрос отправляется на мой сайт-сервер, выполняется предварительный запрос с использованием метода OPTIONS, и заголовок предполетного ответа имеет access-control-allow-Header: «https://instagram.com»и теперь браузер разрешит запрос к сайту. Мы также можем ограничить методы перекрестного происхождения, тип контента должен быть серверным.