Sobes.tech
Назад к вопросам
Middle
2

Что такое CORS? Что такое preflight-запрос (OPTIONS)? Для каких запросов он отправляется, а для каких нет?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

CORS (Cross-Origin Resource Sharing) — механизм безопасности браузера, который контролирует, какие внешние домены могут обращаться к ресурсам на сервере через браузер.

Preflight-запрос (OPTIONS) — это предварительный запрос, который браузер отправляет автоматически перед основным запросом, чтобы проверить, разрешает ли сервер выполнение кросс-доменных запросов с заданными методами и заголовками.

Preflight-запрос отправляется, если основной запрос:

  • Использует HTTP-методы, отличные от простых (GET, POST, HEAD), например, PUT, DELETE.
  • Использует нестандартные заголовки (например, Content-Type: application/json вместо application/x-www-form-urlencoded).
  • Имеет определённые типы контента, отличные от простых.

Если запрос простой (simple request), например, GET с обычными заголовками, preflight не отправляется.

Пример: при отправке POST с Content-Type: application/json браузер сначала отправит OPTIONS-запрос, чтобы проверить разрешения, и только после успешного ответа выполнит основной POST.