--- title: OPTIONS slug: Web/HTTP/Methods/OPTIONS tags: - HTTP - Reference - リクエストメソッド translation_of: Web/HTTP/Methods/OPTIONS ---
HTTP の OPTIONS
メソッドは、対象リソースの通信オプションを記述するために使用します。クライアントは OPTIONS
メソッドの URL を指定するか、サーバー全体を参照するアスタリスク(*)を指定することができます。
リクエストの本文 | なし |
---|---|
成功時のレスポンスの本文 | あり |
{{Glossary("Safe", "安全性")}} | あり |
{{Glossary("Idempotent", "べき等性")}} | あり |
{{Glossary("Cacheable", "キャッシュ")}} | 不可 |
HTML フォームでの使用 | 不可 |
OPTIONS /index.html HTTP/1.1 OPTIONS * HTTP/1.1
サーバーが対応しているリクエストメソッドを調べるには、 curl
を使用して OPTIONS
リクエストを発行してください。
curl -X OPTIONS http://example.org -i
レスポンスには、許可されているメソッドを含んだ {{HTTPHeader("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 では、 OPTIONS
メソッドを使用したプリフライトリクエストが送信されるため、これらの引数を使用してリクエストを送信できるかどうかをサーバーがレスポンスで返すことができます。 {{HTTPHeader("Access-Control-Request-Method")}} ヘッダーは、プリフライトリクエストの一部として、本番のリクエストがPOST
リクエストメソッドで送信されることをサーバーに通知します。 {{HTTPHeader("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
サーバーは {{HTTPHeader("Access-Control-Allow-Methods")}} でレスポンスを返し、 POST
、 GET
、および OPTIONS
は問題のリソースを照会する実行可能なメソッドであることを伝えます。 このヘッダーは {{HTTPHeader("Allow")}} レスポンスヘッダーに似ていますが、 {{HTTPHeader("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", "OPTIONS", "4.3.7")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
{{Compat("http.methods.OPTIONS")}}