Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

Запрос содержит тело (body) Нет
Успешный ответ содержит тело Да
Safe Да
Idempotent Да
Cacheable Нет
Разрешено использовать для 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 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
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

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

ВозможностьChromeEdgeFirefoxInternet ExplorerOperaSafari
Базовая поддержка Да Да Да Да Да Да
ВозможностьAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Базовая поддержка Да Да Да Да Да Да Да

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

Метки документа и участники

 Внесли вклад в эту страницу: marks12
 Обновлялась последний раз: marks12,