OPTIONS
OPTIONS
Запрос OPTIONS позволяет получить доступные варианты связи для заданного URL или сервера. Клиент может указать URL-адрес с помощью этого метода или символ звёздочки (*) для обращения ко всему серверу.
| Запрос содержит тело | Нет |
|---|---|
| Успешный ответ содержит тело | Да |
| Безопасный | Да |
| Идемпотентный | Да |
| Кэшируемый | Нет |
| Разрешен в HTML-формах | Нет |
Синтаксис
OPTIONS /index.html HTTP/1.1
OPTIONS * HTTP/1.1
Примеры
Определение разрешённых методов запроса
Чтобы узнать, какие методы запроса поддерживает сервер, можно использовать программу командной строки curl для отправки запроса OPTIONS:
curl -X OPTIONS https://example.org -i
Затем в ответе будет содержаться заголовок Allow, который содержит разрешённые методы:
HTTP/1.1 204 No Content Allow: OPTIONS, GET, HEAD, POST Cache-Control: max-age=604800 Date: Thu, 13 Oct 2016 11:45:00 GMT Server: EOS (lax004/2813)
Предварительно запросы в CORS
В CORS предварительный запрос отправляется с методом OPTIONS, чтобы сервер мог ответить, будет ли отправка запроса допустимой. В этом примере мы запросим разрешение на эти параметры:
- Заголовок
Access-Control-Request-Method, отправленный в предварительном запросе, сообщает серверу, что при отправке фактического запроса он будет содержать метод запросаPOST. - Заголовок
Access-Control-Request-Headersсообщает серверу, что при отправке фактического запроса он будет содержать заголовкиX-PINGOTHERиContent-Type.
OPTIONS /resources/post-here/ HTTP/1.1 Host: bar.example 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: https://foo.example Access-Control-Request-Method: POST Access-Control-Request-Headers: X-PINGOTHER, Content-Type
Теперь сервер может ответить, будет ли он принимать запрос в этих условиях. В данном примере серверный ответ гласит, что:
Access-Control-Allow-Origin-
Происхождение
https://foo.exampleразрешено запрашивать URLbar.example/resources/post-here/следующими способами: Access-Control-Allow-Methods-
POST,GETиOPTIONSявляются разрешёнными методами для данного URL. (Этот заголовок похож на заголовок ответаAllow, но используется только для CORS.) Access-Control-Allow-Headers-
Любой скрипт, проверяющий ответ, может читать значения заголовков
X-PINGOTHERиContent-Type. Access-Control-Max-Age-
Вышеуказанные разрешения могут быть кэшированы в течение 86 400 секунд (1 день).
HTTP/1.1 204 No Content Date: Mon, 01 Dec 2008 01:15:39 GMT Server: Apache/2.0.61 (Unix) Access-Control-Allow-Origin: https://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 Keep-Alive: timeout=2, max=100 Connection: Keep-Alive
Спецификации
| Спецификация |
|---|
| Семантика HTTP # OPTIONS |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
OPTIONS |
Да |
12 |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
См. также
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS