Для чего нужен HTTP-запрос с методом OPTIONS? позволяет узнать, какие методы поддерживает сервер используется браузером для проверки CORS-политики (preflight request) передаёт в заголовках перечень разрешённых HTTP-методов и допустимых заголовков помогает клиенту определить, разрешён ли основной запрос с нестандартным методом или заголовками не должен менять состояние сервера (безопасный и идемпотентный) применяется при междоменных запросах для соблюдения требований безопасности снижает риск ошибок при кросс-доменном доступе TOTAL: 6 bullets
Для чего нужен HTTP-запрос с методом OPTIONS?
Для чего нужен HTTP-запрос с методом OPTIONS? позволяет узнать, какие методы поддерживает сервер используется браузером для проверки CORS-политики (preflight request) передаёт в заголовках перечень разрешённых…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для чего нужен HTTP-запрос с методом OPTIONS?
- позволяет узнать, какие методы поддерживает сервер
- используется браузером для проверки CORS-политики (preflight request)
- передаёт в заголовках перечень разрешённых HTTP-методов и допустимых заголовков
- помогает клиенту определить, разрешён ли основной запрос с нестандартным методом или заголовками
- не должен менять состояние сервера (безопасный и идемпотентный)
- применяется при междоменных запросах для соблюдения требований безопасности
- снижает риск ошибок при кросс-доменном доступе TOTAL: 6 bullets
Подробный ответ
Основной ответ
Метод OPTIONS в HTTP-запросе нужен, чтобы выяснить, какие методы и другие параметры доступны для конкретного ресурса на сервере. Иными словами, клиент заранее запрашивает информацию о том, разрешены ли, например, GET, POST или PUT, а также нужные заголовки, прежде чем отправлять основной запрос. Наиболее часто такой механизм встречается в CORS (Cross-Origin Resource Sharing): браузер выполняет предварительный OPTIONS-запрос (preflight), проверяя настройки безопасности сервера.
Ключевые моменты
- CORS preflight: Если фронтенд формирует запрос с нестандартным методом или заголовками, браузер сначала отправляет OPTIONS. Это позволяет проверить, разрешает ли сервер подобное обращение и соответствует ли оно политике безопасности.
- Идентификация поддерживаемых методов: С помощью OPTIONS клиент заранее получает сведения о допустимых методах конкретного ресурса, благодаря чему может не допустить лишних запросов и связанных с ними ошибок.
- Отделение "узнавания" от действий: OPTIONS предназначен для получения информации и не должен изменять серверное состояние. Поэтому этот метод считается идемпотентным и подходит для диагностических проверок.
Практический контекст
В современных SPA на React 18+ с backend на Node.js или Django браузер часто автоматически выполняет OPTIONS при вызове fetch с нестандартными заголовками Authorization или Content-Type, отличающимся от application/x-www-form-urlencoded. На серверной стороне обычно настраивают middleware: он отвечает на OPTIONS статусом 204 и передаёт необходимые CORS-заголовки. Это помогает избежать ошибок и задержек при взаимодействии front и backend.