Preflight OPTIONS нужен не для каждого cross-origin запроса: браузер выполняет его, когда метод, заголовки или другие условия выходят за CORS-safelisted ограничения.
OPTIONS-запрос отправляется в каждом случае кросс-доменного запроса или только по необходимости? В чем разница между простыми и сложными запросами в этом контексте?
Preflight OPTIONS нужен не для каждого cross-origin запроса: браузер выполняет его, когда метод, заголовки или другие условия выходят за CORS-safelisted ограничения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Preflight OPTIONS нужен не для каждого cross-origin запроса: браузер выполняет его, когда метод, заголовки или другие условия выходят за CORS-safelisted ограничения.
Типичный GET без дополнительных несейфлистовых заголовков может отправляться напрямую. JSON Content-Type или Authorization обычно требуют preflight. Даже без OPTIONS сервер должен вернуть подходящий Access-Control-Allow-Origin для чтения ответа. Разрешение preflight может кешироваться, поэтому не каждое повторение сопровождается новым OPTIONS.