Вот высокоуровневая схема того, как браузеры инициируют дополнительный запрос «preflight», чтобы определить, есть ли у них разрешение на выполнение кросс-оригинальных запросов.
Что такое CORS? CORS расшифровывается как Cross-Origin Resource Sharing, и это протокол, который позволяет серверам получать запросы из разных доменов.
Разработчики часто делают внешние API-запросы для получения данных с внешних серверов. Иногда эти серверы могут быть из разных доменов.
Пример:
👉 Мое приложение на kelcho.com делает GET-запрос на kelcho.com — это одноименный запрос.
👉 Мое приложение на kelcho.com делает GET-запрос на google.com — это кросс-оригинальный запрос.
Но эти междоменные запросы ограничены браузером ❌.
Как только разработчики настроят CORS на сервере для приема запросов из других доменов, браузер запустит предсветовую проверку ✅.
Это делается для того, чтобы проверить, разрешено ли совместное использование ресурсов на целевом сервере. Запрос предварительной проверки использует HTTP-метод OPTIONS.
Скоро я опубликую подробное визуальное руководство по тому, как это работает под капотом✌️.
Продолжайте расти. Продолжайте учиться💪