OPTIONS

HTTP の OPTIONSメソッドは、対象リソースの通信オプションを記述するために使用します。クライアントは OPTIONS メソッドの URL を指定するか、サーバー全体を参照するアスタリスク(*)を指定することができます。

リクエストの本文 なし
成功時のレスポンスの本文 あり
安全性 あり
べき等性 あり
キャッシュ 不可
HTML フォームでの使用 不可

構文

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

許可されたリクエストメソッドの識別

サーバーが対応しているリクエストメソッドを調べるには、 curl を使用して OPTIONS リクエストを発行してください。

curl -X OPTIONS http://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
Expires: Thu, 20 Oct 2016 11:45:00 GMT
Server: EOS (lax004/2813)
x-ec-custom-error: 1

CORS でのプリフライトリクエスト

CORS (en-US) では、 OPTIONS メソッドを使用したプリフライトリクエストが送信されるため、これらの引数を使用してリクエストを送信できるかどうかをサーバーがレスポンスで返すことができます。 Access-Control-Request-Method ヘッダーは、プリフライトリクエストの一部として、本番のリクエストが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 でレスポンスを返し、 POSTGET、および OPTIONS は問題のリソースを照会する実行可能なメソッドであることを伝えます。 このヘッダーは Allow レスポンスヘッダーに似ていますが、 Access-Control-Allow-Methods はCORS のコンテキスト内で厳密に使用されます。

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: 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
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive

仕様書

仕様書 題名
RFC 7231, セクション 4.3.7: OPTIONS Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

ブラウザーの互換性

BCD tables only load in the browser

関連情報