Ответ
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, автоматическое обнаружение возможностей сервера.