Что такое HTTP-метод OPTIONS?

«Что такое HTTP-метод OPTIONS?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

OPTIONS — это HTTP-метод, используемый для описания возможностей взаимодействия с целевым ресурсом. Клиент запрашивает у сервера информацию о поддерживаемых методах, заголовках или других параметрах.

Основное применение — CORS Preflight: Перед отправкой «непростого» кросс-доменного запроса (например, с кастомными заголовками) браузер автоматически отправляет OPTIONS-запрос для проверки разрешений.

Пример запроса и ответа:

OPTIONS /api/users HTTP/1.1
Host: example.com
Origin: https://myapp.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: Content-Type, Authorization
HTTP/1.1 200 OK
Allow: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: https://myapp.com
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Max-Age: 86400

Характеристики метода:

  • Идемпотентный и безопасный: Не изменяет состояние ресурса.
  • Ответ: Сервер возвращает заголовки Allow (стандартный HTTP) и CORS-заголовки (Access-Control-Allow-*).
  • Использование: Отладка API, механизм CORS, автоматическое обнаружение возможностей сервера.