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> # OPTIONS> |
| HTTP Semantics> # CONNECT> |
| HTTP Semantics> # DELETE> |
| HTTP Semantics> # HEAD> |
| HTTP Semantics> # GET> |
| HTTP Semantics> # POST> |
| HTTP Semantics> # PUT> |
ブラウザーの互換性
Loading…