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

HTTPメソッド とは?

💡 サーバーへの「動詞」(取得・作成・更新・削除)
📌 このページのポイント
HTTPメソッド(CRUD操作) Server リソース GET 取得(Read) データ要求 データ返却 POST 作成(Create) 新規データ送信 → 201 Created PUT 更新(Update) 更新データ送信 → 200 OK DELETE 削除(Delete) 削除要求 → 204 No Content 特徴 GET 安全・冪等 POST 非安全・非冪等 PUT 非安全・冪等 DELETE 非安全・冪等 冪等=何度実行しても同じ結果 REST APIではHTTPメソッドでCRUD操作を表現する
HTTPメソッド:リソースに対するCRUD操作を表す4つの基本メソッド
ひよこ ひよこ

GETとPOSTの違いは?

ペンギン先生 ペンギン先生

GETはデータを「取得」するためのメソッドパラメータURLクエリ文字列に含まれる。POSTはデータを「送信・作成」するためのメソッドパラメータはリクエストボディに含まれる。GETはキャッシュされるし、ブラウザの履歴にURLが残る。POSTはキャッシュされないし、パスワード等の秘密情報はPOSTで送るべきだよ

ひよこ ひよこ

PUTとPATCHの違いは?

ペンギン先生 ペンギン先生

PUTはリソース全体を置き換える。ユーザー情報を更新する場合、名前もメールも年齢も全フィールドを送る。PATCHはリソースの一部だけ更新する。名前だけ変更したいなら名前だけ送ればOK。実務ではPATCHの方が帯域効率が良くて使いやすいけど、PUTの方がシンプルで冪等性が保証しやすいよ

ひよこ ひよこ

冪等性って何?

ペンギン先生 ペンギン先生

同じリクエストを何回送っても結果が同じになる性質。GET(何度取得しても同じ)、PUT(同じデータで何度更新しても同じ状態)、DELETE(存在しないリソースの削除は無害)は冪等。POSTは冪等じゃない(何度送ると何度もリソースが作られる)。冪等性リトライ時の安全性に直結するから重要だよ

ひよこ ひよこ

REST APIHTTPメソッドの関係は?

ペンギン先生 ペンギン先生

RESTful APIHTTPメソッドCRUD操作を表現する。GET /users(一覧取得)、GET /users/1(1件取得)、POST /users(作成)、PUT /users/1(更新)、DELETE /users/1(削除)。URLは「名詞」、メソッドは「動詞」。GET /getUser/1のように動詞をURLに含めるのはRESTful的にはNGだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
HTTPメソッド」って出てきたら「リクエストの操作種別を表す動詞」と思えればだいたいOK!
📖 おまけ:英語の意味
「HTTP Method (HTTP Verb)」 = HTTP動詞
💬 Method(方法)。「何をしたいか」をサーバーに伝える動詞の役割だよ
← 用語集にもどる