HTTP リクエストメソッド解説

HTTP には標準メソッドが 9 種類ありますが、実際の通信でよく使われるのはそのうち数種類です。この表では各メソッドの役割、安全性・冪等性、成功時のステータスコードをまとめています。

更新日:

メソッド用途安全?冪等?成功ステータス
GETRetrieve a resourceYesYes200 OK
HEADRetrieve headers only, no bodyYesYes200 OK
POSTCreate a resource or trigger an actionNoNo201 Created
PUTReplace a resource entirelyNoYes200 OK / 204 No Content
PATCHApply a partial updateNoNo200 OK
DELETERemove a resourceNoYes200 OK / 204 No Content
OPTIONSCORS preflight; list allowed methodsYesYes204 / 200 OK
TRACEEcho the request back for diagnosticsYesYes200 OK
CONNECTOpen a tunnel, e.g. HTTPS via a proxyNoNo200 OK

注記

よくある質問

GET と POST の違いは何ですか?
GET は副作用なくリソースを取得し、安全に繰り返せます。パラメータは URL に入ります。POST は作成やアクションの実行に使い、状態を変える可能性があるためむやみに繰り返してはいけません。
HTTP メソッドの「安全」とはどういう意味ですか?
安全なメソッドはサーバーの状態を変更しないため、リスクなく呼べます。GET・HEAD・OPTIONS・TRACE は安全で、POST・PUT・PATCH・DELETE は安全ではありません。
PUT と PATCH の違いは?
PUT は送信内容でリソース全体を置き換えます。PATCH は指定したフィールドだけを部分的に変更します。PUT は冪等で繰り返しても結果は同じですが、PATCH は一般に冪等ではありません。
HEAD メソッドは何に使いますか?
HEAD は GET と同じ動作をしますがレスポンスボディを返しません。全体をダウンロードせずに、リソースの存在やサイズ、ヘッダーを確認するのに便利です。