【えいちてぃーてぃーぴーめそっど】

HTTPメソッド とは?

最終更新:
💡 サーバーへの「動詞」(取得・作成・更新・削除)

HTTPリクエストで、対象のリソースにどんな処理を求めるかを示す名前。GETは取得、POSTは送った内容の処理、PUTは作成・置き換え、DELETEは対象の削除を求める。PATCHは変更指示による更新に使う。

📌 このページのポイント
要求する操作をメソッドで示す クライアント サーバー GET:取得 POST:内容の処理 PUT:作成・置き換え PATCH:変更指示 DELETE:削除 矢印は要求の向き(応答は省略) 具体的な処理・本文の形式はAPIの仕様で確認
同じサーバーへ送る要求でも、メソッドによって求める操作が違う。POSTは作成だけを意味するものではない。
ひよこ ひよこ
GETとPOSTの違いは?
ペンギン先生 ペンギン先生
GETはリソースの表現を取得するためのメソッドで、POSTは送った内容を対象のリソースに処理してもらうメソッドだよ。POSTは新規作成だけでなく、フォームの処理などにも使う。URLのクエリはPOSTでも使えるので、パラメータの置き場所だけで区別するわけではないんだ。
ひよこ ひよこ
PUTとPATCHは?
ペンギン先生 ペンギン先生
PUTは送った表現で対象を作成・置き換える要求。PATCHは変更指示を送って更新する要求だよ。PATCHの本文がどんな形式かはAPIの仕様で確認しよう。単に一部の項目をJSONで送れば、どのAPIでも同じように更新できるわけではないんだ。
ひよこ ひよこ
GETはいつもキャッシュされて、POSTはされない?
ペンギン先生 ペンギン先生
どちらもそう言い切れないよ。GETでもキャッシュ制御などの条件次第だし、POSTの応答にも条件付きでキャッシュできる場合がある。またPOSTを選ぶだけで通信が暗号化されるわけではないので、通信の保護にはHTTPSを使うよ。
ひよこ ひよこ
安全とか冪等ってどういう意味?
ペンギン先生 ペンギン先生
安全は、利用者が状態の変更を求めない意味で、GETでもアクセスログは記録できるよ。冪等は、同じ要求を繰り返したときの意図した効果が一回と同じという意味。GET・PUT・DELETEなどが該当し、返答の内容やステータスまで同じとは限らない。POST・PATCHは標準では冪等ではないけれど、API側で繰り返しに対応する設計はできるんだ。
ひよこ ひよこ
REST API専用の言葉なの?
ペンギン先生 ペンギン先生
HTTP全体で使うものだよ。たとえばAPIではGET /users/1で取得、PUT /users/1で置き換えを求める、という使い分けができる。具体的に何が更新・削除されるかや返ってくるステータスは、HTTPの意味と、そのAPIの仕様を合わせて確認しよう。DELETEでもバックアップを含む全データが物理的に消えるとは限らないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「HTTPメソッド」って出てきたら「リクエストでサーバーに求める操作の種類」と思えばだいたいOK!
📖 おまけ:英語の意味
「HTTP Method (HTTP Verb)」 = HTTP動詞
💬 Method(方法)。「何をしたいか」をサーバーに伝える動詞の役割だよ

参考資料

← 用語集にもどる