Выбор ответа Middle Заголовки и cookies спрашивают часто обновлено
Кто проверяет CORS
Вопрос
Фронтенд получает ошибку CORS, а тот же запрос из Postman проходит. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: CORS проверяет браузер по Access-Control-Allow- в ответе, Postman их не смотрит. CORS это защита в браузере: сервер отвечает, браузер смотрит на Access-Control-Allow-Origin и прочие заголовки и решает, отдать ли ответ скрипту.
Варианты ответа
- Postman отправляет запрос через свой облачный прокси, и сервер видит другой адрес
- В Postman режим CORS включён по умолчанию, и он сам подставляет разрешающие заголовки
- CORS проверяет сервер по IP клиента, а Postman подменяет IP на доверенный
- CORS проверяет браузер по
Access-Control-Allow-*в ответе, Postman их не смотритправильный ответ
Разбор
CORS это защита в браузере: сервер отвечает, браузер смотрит на Access-Control-Allow-Origin и прочие заголовки и решает, отдать ли ответ скрипту. Postman, curl и бэкенды CORS не применяют. Поэтому «в Postman работает» не доказывает, что фронтенд заработает: проверять CORS нужно из браузера с реальным Origin.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.