OPTIONS

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTTP-метод OPTIONS используется для описания параметров соединения с целевым ресурсом. Клиент может указать особый URL для обработки метода OPTIONS, или * (звёздочку) чтобы указать весь сервер целиком.

Запрос имеет тело Нет
Успешный ответ имеет тело Да
Безопасный Да
Идемпотентный Да
Кешируемый Нет
Допускается в HTML-формах Нет

Синтаксис

OPTIONS /index.html HTTP/1.1
OPTIONS * HTTP/1.1

Примеры

Определение разрешённых сервером методов запроса

Для того, чтобы узнать какие методы запросов поддерживаются сервером, можно воспользоваться curl направить OPTIONS запрос:

curl -X OPTIONS http://example.org -i

Ответ на запрос содержит Allow заголовок с поддерживаемыми методами:

HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
Date: Thu, 13 Oct 2016 11:45:00 GMT
Expires: Thu, 20 Oct 2016 11:45:00 GMT
Server: EOS (lax004/2813)
x-ec-custom-error: 1
Content-Length: 0

Предзапросы по технологии CORS

По технологии CORS, с помощью метода OPTIONS направляется предварительный запрос, поэтому сервер может ответить приемлемо ли отправлять запросы этим методом. Access-Control-Request-Method заголовок уведомляет сервер в составе предварительного запроса о том что, запрос OPTIONS будет отправляться на сервер вместе с POST запросом. Access-Control-Request-Headers заголовок уведомляет сервер о том, что при отправке фактического запроса, он будет отправлен с помощью пользовательских заголовков X-PINGOTHER и Content-Type. В этом случае сервер имеет возможность определять возможно ли принять запрос с такими параметрами.

OPTIONS /resources/post-here/ HTTP/1.1
Host: bar.other
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Connection: keep-alive
Origin: http://foo.example
Access-Control-Request-Method: POST
Access-Control-Request-Headers: X-PINGOTHER, Content-Type

Ответ сервера содержит параметр Access-Control-Allow-Methods и сообщает, что POST, GET, и OPTIONS методы являются приемлемыми для данного ресурса. Этот заголовок похож на заголовок Allow , но используется строго в контексте CORS.

HTTP/1.1 200 OK
Date: Mon, 01 Dec 2008 01:15:39 GMT
Server: Apache/2.0.61 (Unix)
Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
Vary: Accept-Encoding, Origin
Content-Encoding: gzip
Content-Length: 0
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: text/plain

Спецификации

Спецификация Заголовок
RFC 7231, раздел 4.3.7: OPTIONS Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
OPTIONS

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также