HTTP リクエストメソッド
HTTP では、一連のリクエストメソッドを定義しています。これは、リクエストの目的と、リクエストが成功した場合に期待される結果を示しています。 リクエストメソッドは名詞であることもありますが、「HTTP 述語」と呼ばれることもあります。 それぞれのリクエストメソッドには独自の意味がありますが、複数のメソッドに共通する特徴もあります。具体的には、リクエストメソッドは安全、べき等、キャッシュ可能である場合があります。
GET
-
GET
メソッドは、指定したリソースの表現をリクエストします。GET
を使用するリクエストは、データの取得のみを行うべきであり、リクエストコンテンツを入れてはいけません。 HEAD
-
HEAD
メソッドはGET
リクエストと同じレスポンスを、レスポンス本文なしで求めます。 POST
-
POST
は指定したリソースに実体を送信するために使用するメソッドであり、サーバー上の状態を変更したり、副作用が発生したりすることがよくあります。 PUT
-
PUT
メソッドは対象リソースの現在の表現全体を、リクエストのコンテンツで置き換えます。 DELETE
-
DELETE
メソッドは、指定したリソースを削除します。 CONNECT
-
CONNECT
メソッドは、対象リソースで識別されるサーバーとの間にトンネルを確立します。 OPTIONS
-
OPTIONS
メソッドは、対象リソースの通信オプションを示すために使用します。 TRACE
-
TRACE
メソッドは、対象リソースへのパスに沿ってメッセージのループバックテストを実行します。 PATCH
-
PATCH
メソッドは、リソースを部分的に変更するために使用します。
リクエストの安全性、べき等性、キャッシュ可否
以下の表では、 HTTP リクエストのメソッドと、それぞれの安全性、キャッシュ可否、べき等静による分類を示します。
メソッド | 安全性 | べき等性 | キャッシュ |
---|---|---|---|
GET |
あり | あり | 可 |
HEAD |
あり | あり | 可 |
OPTIONS |
あり | あり | 不可 |
TRACE |
あり | あり | 不可 |
PUT |
なし | あり | 不可 |
DELETE |
なし | あり | 不可 |
POST |
なし | なし | 条件付き* |
PATCH |
なし | なし | 条件付き* |
CONNECT |
なし | なし | 不可 |
* POST
と PATCH
は、レスポンスに鮮度情報と、一致する Content-Location
ヘッダーが明示的に含まれている場合、キャッシュ可能です。
仕様書
Specification |
---|
HTTP Semantics> # PUT> |
HTTP Semantics> # CONNECT> |
HTTP Semantics> # OPTIONS> |
HTTP Semantics> # GET> |
HTTP Semantics> # DELETE> |
HTTP Semantics> # POST> |
HTTP Semantics> # HEAD> |
ブラウザーの互換性
Loading…