From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/http/methods/options/index.html | 126 +++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 files/ru/web/http/methods/options/index.html (limited to 'files/ru/web/http/methods/options/index.html') diff --git a/files/ru/web/http/methods/options/index.html b/files/ru/web/http/methods/options/index.html new file mode 100644 index 0000000000..7df81b0124 --- /dev/null +++ b/files/ru/web/http/methods/options/index.html @@ -0,0 +1,126 @@ +--- +title: OPTIONS +slug: Web/HTTP/Methods/OPTIONS +tags: + - HTTP + - Метод запроса + - Справка +translation_of: Web/HTTP/Methods/OPTIONS +--- +
{{HTTPSidebar}}
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Запрос имеет телоНет
Успешный ответ имеет телоДа
{{Glossary("Safe", "Безопасный")}}Да
{{Glossary("Idempotent", "Идемпотентный")}}Да
{{Glossary("Cacheable", "Кэшируемый")}}Нет
Допускается в HTML-формахНет
+ +

Синтаксис

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

Примеры

+ +

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

+ +

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

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

Ответ на запрос содержит {{HTTPHeader("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 направляется предварительный запрос, поэтому сервер может ответить приемлемо ли отправлять запросы этим методом. {{HTTPHeader("Access-Control-Request-Method")}} заголовок уведомляет сервер в составе предварительного запроса о том что, запрос  OPTIONS будет отправляться на сервер вместе с POST запросом. {{HTTPHeader("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
+ +

Ответ сервера содержит параметр {{HTTPHeader("Access-Control-Allow-Methods")}} и сообщает, что  POST, GET, и OPTIONS методы являются приемлемыми для данного ресурса. Этот заголовок похож на заголовок {{HTTPHeader("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", "OPTIONS", "4.3.7")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
+ +

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

+ + + +

{{Compat("http.methods.OPTIONS")}}

+ +

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

+ + -- cgit v1.2.3-54-g00ecf