LESSON 30分

HTTPメソッドを理解しよう

ストーリー

「先輩、HTTPリクエストの最初に GET って書いてありましたが、他にもあるんですか?」

「そう。GET、POST、PUT、DELETE が基本の4つだよ」

「4つ?データベースのCRUDに似てますね」

「まさにその通り!HTTPメソッドとCRUDは対応しているんだ」


HTTPメソッドとは

HTTPリクエストの「目的」を示す指定。サーバーに「何をしてほしいか」を伝えます。

GET /users HTTP/1.1     ← 「ユーザー一覧を見せて」
POST /users HTTP/1.1    ← 「新しいユーザーを作って」
PUT /users/1 HTTP/1.1   ← 「ユーザー1の情報を更新して」
DELETE /users/1 HTTP/1.1 ← 「ユーザー1を削除して」

主要な4つのメソッド

GET - データを取得する

GET /articles HTTP/1.1
  • 目的: データの取得(読み取り)
  • ボディ: なし
  • 用途: Webページの表示、データの一覧取得
レストランの例え: 「メニューを見せてください」

POST - データを作成する

POST /articles HTTP/1.1
Content-Type: application/json

{"title": "新しい記事", "content": "本文です"}
  • 目的: 新しいデータの作成
  • ボディ: 作成するデータを含む
  • 用途: フォーム送信、新規ユーザー登録、記事投稿
レストランの例え: 「Aセットを注文します」

PUT - データを更新する

PUT /articles/1 HTTP/1.1
Content-Type: application/json

{"title": "修正した記事", "content": "修正した本文です"}
  • 目的: 既存データの更新(全体を置き換え)
  • ボディ: 更新後のデータを含む
  • 用途: プロフィール更新、記事の編集
レストランの例え: 「注文をBセットに変更してください」

DELETE - データを削除する

DELETE /articles/1 HTTP/1.1
  • 目的: データの削除
  • ボディ: 通常なし
  • 用途: アカウント削除、記事の削除
レストランの例え: 「注文をキャンセルしてください」

CRUDとの対応

CRUDHTTPメソッド説明
Create(作成)POST新しいデータを作る
Read(読み取り)GETデータを取得する
Update(更新)PUT / PATCHデータを更新する
Delete(削除)DELETEデータを削除する

PATCH メソッド

PUT がデータ全体を置き換えるのに対し、PATCH は 一部だけ を更新します。

PUT /users/1    → ユーザー1のデータを全部書き換え
PATCH /users/1  → ユーザー1のデータの一部だけ変更

その他のメソッド

メソッド用途
HEADレスポンスのヘッダーだけ取得(ボディなし)
OPTIONSサーバーがサポートするメソッドを確認

実務で最も使うのは GET と POST です。REST APIを扱う場合は PUT と DELETE も頻繁に使います。


安全性と冪等性

安全なメソッド

サーバーのデータを 変更しない メソッド。

メソッド安全?
GETはい(データを読むだけ)
POSTいいえ(データを作成する)
PUTいいえ(データを更新する)
DELETEいいえ(データを削除する)

冪等(べきとう)なメソッド

何回実行しても結果が同じ になるメソッド。

メソッド冪等?理由
GETはい何回取得しても同じデータ
POSTいいえ実行するたびに新しいデータが作られる
PUTはい同じデータで何回更新しても結果は同じ
DELETEはい既に削除済みなら何も起きない

REST API でのメソッド使用例

Webアプリケーションの API ではこのようにメソッドを使い分けます。

GET    /api/users          → ユーザー一覧を取得
GET    /api/users/1        → ユーザー1の詳細を取得
POST   /api/users          → 新しいユーザーを作成
PUT    /api/users/1        → ユーザー1の情報を更新
DELETE /api/users/1        → ユーザー1を削除

URLは同じ /api/users でも、メソッドによって動作が変わります。


まとめ

ポイント内容
GETデータの取得(Read)
POSTデータの作成(Create)
PUTデータの更新(Update)
DELETEデータの削除(Delete)
CRUD対応HTTPメソッドはCRUD操作に対応している

チェックリスト

  • GET、POST、PUT、DELETE の違いを説明できる
  • CRUDとHTTPメソッドの対応を理解した
  • GETが安全なメソッドであると理解した
  • REST APIでのメソッドの使い方をイメージできる

次のステップへ

HTTPメソッドが分かりましたね。

次のセクションでは、サーバーからの返事である ステータスコード を学びます。200、404、500 など、数字の意味を読み解きましょう。


推定読了時間: 30分