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 では、 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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
OPTIONSChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 ありIE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応

関連情報