今回は、Web技術のひとつ「GET・POST・PUT・DELETEの違い」について解説します。
HTTPメソッドとは?
HTTPメソッドとは、Webブラウザやアプリがサーバーに対して「どんな操作をしてほしいか」を伝えるための命令のことです。
代表的なメソッドには以下の4つがあります。
- GET:データの取得
- POST:新規データの作成
- PUT:データの更新
- DELETE:データの削除
これらは、Webページの表示だけでなく、APIとの通信やフォームの送信でも使われています。
GETメソッド:データを取得する
GETメソッドは、指定したURLに対して「その情報をください」とサーバーに要求する際に使います。
特徴
- パラメータがURLに含まれる(例:
?id=123) - サーバーにデータの変更は加えない
- キャッシュされやすい
使用例
GET /products?id=123 HTTP/1.1
主な用途
- 商品ページの表示
- ユーザープロフィールの読み込み
POSTメソッド:新しいデータを作成する
POSTメソッドは、サーバーに対して新しい情報を「追加してほしい」ときに使用します。
特徴
- データはリクエストボディに含まれる
- URLに表示されないため、比較的安全
- 処理の副作用(データの追加など)が発生する
使用例
POST /users HTTP/1.1
Content-Type: application/json
{
"name": "Taro",
"email": "taro@example.com"
}
主な用途
- ユーザー登録
- お問い合わせフォームの送信
PUTメソッド:既存データを更新する
PUTメソッドは、サーバー上にある既存のデータを「上書きして更新する」ためのメソッドです。
特徴
- 対象のリソースを全体的に更新する
- 同じリクエストを複数回送っても結果が変わらない(冪等性がある)
使用例
PUT /users/123 HTTP/1.1
Content-Type: application/json
{
"name": "Hanako",
"email": "hanako@example.com"
}
主な用途
- ユーザー情報の編集
- 記事の内容を一括更新
DELETEメソッド:データを削除する
DELETEメソッドは、特定のデータをサーバーから「削除したい」ときに使用されます。
特徴
- サーバー上のリソースを削除
- 副作用があり、復元できないことが多い
- 冪等性がある(何度送っても結果は同じ)
使用例
DELETE /users/123 HTTP/1.1
主な用途
- 投稿やコメントの削除
- アカウントの削除
HTTPメソッドの比較一覧
| メソッド | 操作 | データ送信形式 | 冪等性 | 主な用途 |
|---|---|---|---|---|
| GET | 取得 | URLパラメータ | ○ | ページ表示、検索 |
| POST | 作成 | リクエストボディ | × | 登録、送信 |
| PUT | 更新(上書き) | リクエストボディ | ○ | 編集、一括更新 |
| DELETE | 削除 | URL指定またはボディ | ○ | 削除処理 |
セキュリティ上の注意点
- GETで個人情報やパスワードなどの機密データを送らないこと
- POSTやPUTにはCSRF対策が必要(トークンの利用など)
- DELETE操作は誤操作のリスクがあるため、確認プロセスを設けるのが望ましい
まとめ
HTTPメソッドは、Webサイトやアプリケーションの動作の根幹を支える重要な要素です。
それぞれのメソッドには役割と特性があるため、目的に応じて正しく使い分けることが大切です。
- GET:データを取得する
- POST:新しいデータを作成する
- PUT:既存データを上書きする
- DELETE:データを削除する
Web開発やAPI設計の基本として、ぜひ理解を深めておきましょう。



