Spec-Zone.ru › HTTP

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 разрешено запрашивать URL bar.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
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да

См. также

  • Allow заголовок
  • CORS

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API