Любой веб-разработчик может рассказать вам страшные истории о том, как справляться с ошибками CORS.

Ах, УЖАСНЫЕ ошибки CORS. Как веб-разработчик, вы познакомитесь с поразительным набором готовых библиотек кода, доступных вам через github и npm. И добавьте к этому все общедоступные API, которые вы можете использовать, например, созданные такими гигантами, как Google или New York Times. Но как только вы узнаете об этих удивительных ресурсах и начнете пытаться их использовать, вы окажетесь в стране ужасных, уродливых ошибок CORS, которые резко остановят разработку вашего приложения.

Итак, прежде всего, что такое CORS или, точнее, что такое ошибка CORS?

Ошибка CORS возникает при попытке доступа к коду с другого сервера. Это мера безопасности, реализованная в браузерах, чтобы запретить запуск кода с нескольких серверов, если только эти серверы явно не обозначены как разрешенные для запуска кода. И это хорошо. Это может иметь большое значение для защиты вашего приложения от взлома и взлома данных ваших пользователей. Но если вы не можете запускать код, поступающий с сервера, отличного от вашего собственного, не означает ли это, что вы столкнетесь с CORS ошибки почти каждый раз, когда вы пытаетесь использовать чужие существующие библиотеки? А, да. Довольно много.

Не паникуйте — решение есть. Решение ошибок CORS — это сам CORS. Это механизм, который определяет, как мы взаимодействуем с другими серверами в наших приложениях. Механизм включает в себя настройку так называемого «предполетного» запроса, который содержит определенную информацию в заголовках, перед отправкой полного запроса во внешний API. Как только это рукопожатие выполнено, наш запрос должен пройти нормально.

Оставайтесь с нами для части 2, чтобы узнать больше

Вот еще несколько ресурсов:
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#:~:text=Cross%2DOrigin%20Resource%20Sharing%20(CORS)% 20это%20a%20механизм%20это,ресурсы%20из%20a%20различного%20происхождения.

https://ionicframework.com/docs/troubleshooting/cors#:~:text=CORS%20errors%20are%20common%20in, представьте%20на%20%20запрошенный%20ресурс.