CORS (Cross-Origin Resource Sharing) — браузерный механизм контроля доступа между разными origin. Frontend может отправить запрос, но браузер не отдаст ответ JS-коду, если сервер не разрешил доступ.
🟢 Сервер может вернуть 200 OK, а приложение всё равно «сломано» — блокировка происходит на стороне браузера.
Preflight-запрос — автоматический OPTIONS, который браузер отправляет до основного запроса, чтобы проверить:
— разрешён ли метод
— разрешены ли заголовки
— можно ли работать с credentials
🟢 Срабатывает, если запрос «непростой»:
— методы кроме GET / POST
— кастомные заголовки
— Content-Type: application/json
🔍 На что обращать внимание:
— Наличие и корректность Access-Control-Allow-*
— Ответ сервера на OPTIONS
— Ошибки, которые видны только в DevTools
— Опасные настройки: Access-Control-Allow-Origin: * + credentials
⚠️ Если через Postman всё работает, в браузере — нет, то почти всегда проблема в CORS.
📍 Навигация: [Вакансии]
🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса
🐸Библиотека тестировщика
#теория_на_пальцах
