この翻訳は不完全です。英語から この記事を翻訳 してください。

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

リクエストボディがある No
成功したレスポンスにはボディがある Yes
Safe Yes
Idempotent Yes
Cacheable No
HTML フォームを許可 No

構文

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

許可されたリクエストメソッドの特定

サーバーがサポートするリクエストメソッドを調べるには、curlを使用してOPTIONS要求を発行します。

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

レスポンスには、許可されたメソッドを持つ 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メソッドを使用したプリフライトリクエストが送信されるため、サーバーはこれらのパラメータを使用してリクエストを送信できるかどうかレスポンスを返すことができます。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は問題のリソースを照会する実行可能なメソッドであると言います。 このヘッダーはレスポンスヘッダーに似ていますが、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, セクション 4.3.7: OPTIONS Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

ブラウザの互換性

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

凡例

完全対応  
完全対応

合わせて読む

ドキュメントのタグと貢献者

このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,