GET・POST・PUT・PATCH・DELETEの違いを初心者向けにわかりやすく解説!

ITインフラ
この記事は約14分で読めます。

この記事の最終更新日: 2026年5月21日


WebアプリやAPIについて学び始めると、よく出てくるのが GET・POST・PUT・PATCH・DELETE という言葉です。

これらは HTTPメソッド と呼ばれます。

HTTPメソッドとは、簡単にいうと、

サーバーに対して「何をしたいのか」を伝えるための命令

です。

たとえば、ブログアプリで以下のような操作をするとします。

  • 記事一覧を見る
  • 新しい記事を投稿する
  • 記事のタイトルを変更する
  • 記事を削除する

これらの操作は、裏側ではHTTPメソッドを使ってサーバーにリクエストを送っています。

この記事では、初心者向けに GET・POST・PUT・PATCH・DELETEの違い をわかりやすく解説します。


HTTPメソッドとは?

HTTPメソッドとは、ブラウザやアプリがサーバーに対して送る「操作の種類」です。

たとえば、ブログ記事を操作するAPIを例にすると、以下のようになります。

やりたいことHTTPメソッド
記事を見るGET
記事を作成するPOST
記事全体を更新するPUT
記事の一部だけ更新するPATCH
記事を削除するDELETE

HTTPメソッドを正しく使うことで、APIの意味がわかりやすくなります。

たとえば、同じ /articles/1 というURLでも、HTTPメソッドによって意味が変わります。

GET /articles/1

これは「IDが1の記事を取得する」という意味です。

DELETE /articles/1

これは「IDが1の記事を削除する」という意味です。

つまり、APIでは URLだけでなく、HTTPメソッドも重要 です。


GETとは?データを取得するHTTPメソッド

GET は、サーバーからデータを取得するときに使います。

たとえば、以下のような操作です。

  • 記事一覧を表示する
  • 特定の記事を表示する
  • ユーザー情報を取得する
  • 商品一覧を取得する
  • 検索結果を表示する

ブログ記事一覧を取得する場合は、次のようになります。

GET /articles

これは「記事一覧を取得したい」という意味です。

特定の記事を取得する場合は、次のようになります。

GET /articles/1

これは「IDが1の記事を取得したい」という意味です。

GETは、基本的に データを見るだけの処理 に使います。

そのため、GETでデータを作成・更新・削除するのは適切ではありません。


GETで更新や削除をしてはいけない理由

初心者のうちは、URLにアクセスするだけで処理できるなら、GETで更新や削除をしてもよさそうに見えるかもしれません。

たとえば、以下のようなURLです。

GET /articles/1/delete

このURLにアクセスしただけで記事が削除される設計は危険です。

なぜなら、GETは本来「データを取得するためのメソッド」だからです。

ブラウザの先読み、検索エンジンのクローラー、外部ツールなどがURLにアクセスしただけで、意図せずデータが変更・削除される可能性があります。

そのため、GETは基本的に「見るだけ」に使い、データを変更する処理にはPOST・PUT・PATCH・DELETEなどを使うべきです。


POSTとは?データの作成や処理の実行に使うHTTPメソッド

POST は、新しいデータを作成するときによく使われます。

たとえば、以下のような操作です。

  • 新しい記事を投稿する
  • 新しいユーザーを登録する
  • コメントを投稿する
  • お問い合わせフォームを送信する

新しい記事を作成する場合は、次のようになります。

POST /articles

送信するデータの例です。

{
  "title": "HTTPメソッドの解説",
  "body": "GETやPOSTの違いを解説します。"
}

これは「新しい記事を作成してください」という意味です。

ただし、POSTは「作成専用」のメソッドではありません。

実務では、サーバー側で何らかの処理を実行したいときにも使われます。

たとえば、以下のようなAPIです。

POST /login
POST /payments
POST /articles/1/publish

それぞれ、以下のような意味になります。

API意味
POST /loginログイン処理を実行する
POST /payments決済処理を実行する
POST /articles/1/publish記事を公開する

つまり、POSTは、

新しいデータを作る、またはサーバー側で何らかの処理を実行する

と覚えるとわかりやすいです。


PUTとは?データ全体を作成または置き換えるHTTPメソッド

PUT は、指定したURLのリソースを 作成または丸ごと置き換える ときに使います。

初心者向けには、まずは、

PUTはデータ全体を更新するメソッド

と覚えるとわかりやすいです。

たとえば、IDが1の記事全体を更新する場合は、次のようになります。

PUT /articles/1

送信するデータの例です。

{
  "title": "HTTPメソッド完全ガイド",
  "body": "GET、POST、PUT、PATCH、DELETEについて解説します。",
  "status": "published"
}

PUTは「このURLのリソースを、この内容で丸ごと置き換えてください」というイメージです。

たとえば、元の記事データが以下だったとします。

{
  "title": "古いタイトル",
  "body": "古い本文",
  "status": "draft"
}

PUTで次のデータを送ります。

{
  "title": "新しいタイトル",
  "body": "新しい本文",
  "status": "published"
}

すると、記事全体が新しい内容に置き換わるイメージです。

PUTは、実務では「既存データの全体更新」として使われることが多いです。

ただし、厳密には、指定したURLにリソースが存在しない場合に新規作成として扱う設計もあります。

そのため、PUTは単に「更新専用」と覚えるよりも、

指定したリソースを丸ごと作成または置き換える

と理解すると、より正確です。


PATCHとは?データの一部を更新するHTTPメソッド

PATCH は、既存データの一部だけを更新するときに使います。

たとえば、記事のタイトルだけを変更したい場合は、次のようになります。

PATCH /articles/1

送信するデータの例です。

{
  "title": "新しいタイトル"
}

これは「IDが1の記事のタイトルだけ変更してください」という意味です。

PATCHは「変更したい項目だけを送る」というイメージです。

たとえば、ユーザー情報が以下のようにあったとします。

{
  "name": "山田太郎",
  "email": "yamada@example.com",
  "age": 30
}

名前だけを変更したい場合、PATCHでは次のように送ります。

{
  "name": "山田花子"
}

この場合、emailage は変更せず、name だけを更新するイメージです。

PUTが「全体を置き換える」のに対して、PATCHは「一部だけ変更する」と考えるとわかりやすいです。


PUTとPATCHの違い

初心者が特に混乱しやすいのが、PUTとPATCHの違い です。

どちらも更新に使うため、違いがわかりにくいです。

ざっくり比較すると、以下のようになります。

メソッド役割イメージ
PUT全体更新データを丸ごと置き換える
PATCH部分更新指定した項目だけ変更する

たとえば、プロフィール情報が以下のようにあるとします。

{
  "name": "山田太郎",
  "email": "yamada@example.com",
  "age": 30
}

名前だけを変更したい場合、PATCHでは次のように送ります。

{
  "name": "山田花子"
}

一方、PUTではプロフィール全体を送るイメージです。

{
  "name": "山田花子",
  "email": "yamada@example.com",
  "age": 30
}

初心者のうちは、以下のように覚えると十分です。

PUT   = 全体を置き換える
PATCH = 一部だけ変更する

ただし、実際のAPIでは、PUTとPATCHの扱いはプロジェクトやフレームワークによって多少異なることもあります。

そのため、APIを使う側であれば、対象APIのドキュメントを確認することも大切です。


DELETEとは?データを削除するHTTPメソッド

DELETE は、データを削除するときに使います。

たとえば、IDが1の記事を削除したい場合は、次のようになります。

DELETE /articles/1

これは「IDが1の記事を削除してください」という意味です。

DELETEは、以下のような操作で使われます。

  • 記事を削除する
  • コメントを削除する
  • ユーザーを削除する
  • 商品を削除する
  • 登録済みデータを削除する

ただし、DELETEを実行したからといって、必ずデータベースから完全に消えるとは限りません。

実務では、削除方法には大きく2つあります。

削除方法説明
物理削除データベースから完全に削除する
論理削除データ自体は残し、削除済みフラグを付ける

たとえば、サービスによっては、ユーザーが削除した記事を復元できるようにするため、実際にはデータベースに残しておくことがあります。

このような削除は「論理削除」と呼ばれます。


POSTとPUTの違い

POSTとPUTも混乱しやすいHTTPメソッドです。

どちらもサーバーにデータを送信するためです。

基本的には、以下のように考えるとわかりやすいです。

メソッド主な用途
POST新しいデータを作成する、または処理を実行する
PUT指定したリソースを丸ごと作成または置き換える

たとえば、新しい記事を作成する場合はPOSTを使います。

POST /articles

これは「記事一覧の中に、新しい記事を追加してください」というイメージです。

一方、IDが1の記事全体を更新する場合はPUTを使います。

PUT /articles/1

これは「IDが1の記事を、この内容で丸ごと置き換えてください」というイメージです。

POSTは「どこに作るかはサーバー側に任せる」ことが多く、PUTは「このURLのリソースを作成・置き換えする」という意味合いが強いです。

初心者向けには、まず以下のように覚えるとよいです。

POST = 新しく作る・処理を実行する
PUT  = 指定したデータを丸ごと置き換える


GET・POST・PUT・PATCH・DELETEの違いまとめ

ここまでの内容をまとめると、以下のようになります。

HTTPメソッド主な用途
GETデータを取得する記事一覧を見る
POSTデータを作成する、処理を実行する記事を投稿する、ログインする
PUTリソース全体を作成または置き換える記事全体を更新する
PATCHリソースの一部を更新するタイトルだけ変更する
DELETEリソースを削除する記事を削除する

初心者のうちは、まず以下のように覚えるとわかりやすいです。

GET    = 取得する
POST   = 作成する・処理を実行する
PUT    = 全体を置き換える
PATCH  = 一部を変更する
DELETE = 削除する


ブログ記事APIを例にした使い分け

ブログ記事を操作するAPIを例にすると、HTTPメソッドの使い分けは以下のようになります。

操作HTTPメソッドURL例
記事一覧を取得するGET/articles
特定の記事を取得するGET/articles/1
新しい記事を作成するPOST/articles
記事全体を更新するPUT/articles/1
記事の一部を更新するPATCH/articles/1
記事を削除するDELETE/articles/1

このように、APIではURLとHTTPメソッドを組み合わせて処理を表現します。

同じURLでも、メソッドが変われば意味も変わります。

GET /articles/1

これは「記事を取得する」という意味です。

PATCH /articles/1

これは「記事の一部を更新する」という意味です。

DELETE /articles/1

これは「記事を削除する」という意味です。

URLだけを見るのではなく、HTTPメソッドもセットで見ることが重要です。


安全性と冪等性も知っておこう

HTTPメソッドを理解するときは、安全性冪等性 も知っておくと便利です。

少し難しい言葉ですが、初心者向けに簡単に説明します。


安全性とは?

安全性とは、

リクエストを送っても、サーバー上のデータを変更しない性質

のことです。

たとえば、GETはデータを取得するだけなので、基本的にはサーバー上のデータを変更しません。

GET /articles/1

これは記事を見るだけです。

そのため、GETは安全なメソッドとされています。

一方、POST・PUT・PATCH・DELETEは、サーバー上のデータを作成・更新・削除するため、安全なメソッドではありません。


冪等性とは?

冪等性は「べきとうせい」と読みます。

冪等性とは、

同じリクエストを何回送っても、サーバー上の結果が同じになる性質

のことです。

たとえば、以下のDELETEリクエストを考えてみます。

DELETE /articles/1

1回目に実行すると、記事ID 1が削除されます。

同じリクエストをもう一度送っても、「記事ID 1が削除されている」という結果は変わりません。

そのため、DELETEは冪等なメソッドとされています。

ただし、レスポンスは変わることがあります。

たとえば、1回目は成功として 204 No Content が返り、2回目は「すでに存在しない」として 404 Not Found が返ることがあります。

しかし、サーバー上の最終的な状態は「記事ID 1が存在しない」という点で同じです。

そのため、DELETEは冪等と考えられます。


HTTPメソッドごとの安全性・冪等性

HTTPメソッドごとの安全性・冪等性をまとめると、以下のようになります。

HTTPメソッド安全性冪等性説明
GETありあり何度取得してもデータは変わらない
POSTなし基本なし何度も送ると複数作成される可能性がある
PUTなしあり同じ内容で置き換えるなら結果は同じ
PATCHなし基本なし更新内容によっては結果が変わる可能性がある
DELETEなしあり何度送っても削除済みという状態は同じ

ここは少し難しいので、最初から完璧に覚える必要はありません。

初心者のうちは、まず以下のように理解しておけば大丈夫です。

GETは見るだけなので安全
POSTは何度も送ると複数作られることがある
PUTは同じ内容で置き換えるなら結果が同じ
PATCHは部分更新なので内容によって変わる
DELETEは何度送っても削除済みという結果は同じ


なぜHTTPメソッドを正しく使う必要があるのか?

HTTPメソッドを正しく使うと、APIがわかりやすくなります。

たとえば、以下のようなAPIがあったとします。

GET /deleteArticle?id=1

このAPIは、URLだけ見ると「データを取得するGET」のように見えます。

しかし、実際には記事を削除しています。

これでは、APIを使う人にとって意味がわかりにくく、誤操作の原因にもなります。

一方、次のように書かれていれば、意味が明確です。

DELETE /articles/1

これは「IDが1の記事を削除する」と直感的にわかります。

HTTPメソッドを正しく使うことで、

  • APIの意味がわかりやすくなる
  • 他の開発者が理解しやすくなる
  • 誤操作を防ぎやすくなる
  • REST APIらしい設計になる
  • 保守しやすいAPIになる

というメリットがあります。


REST APIではURLとHTTPメソッドを組み合わせる

GET・POST・PUT・PATCH・DELETEは、REST APIの設計でよく使われます。

REST APIでは、URLで「対象のリソース」を表し、HTTPメソッドで「操作の種類」を表します。

たとえば、記事を表す /articles というリソースがある場合、以下のように設計できます。

GET /articles
POST /articles
GET /articles/1
PUT /articles/1
PATCH /articles/1
DELETE /articles/1

それぞれの意味は以下です。

API意味
GET /articles記事一覧を取得する
POST /articles新しい記事を作成する
GET /articles/1IDが1の記事を取得する
PUT /articles/1IDが1の記事全体を置き換える
PATCH /articles/1IDが1の記事の一部を更新する
DELETE /articles/1IDが1の記事を削除する

このように設計すると、URLとHTTPメソッドを見るだけで、APIの役割がわかりやすくなります。


初心者向けの覚え方

最後に、GET・POST・PUT・PATCH・DELETEの覚え方を紹介します。

メソッド覚え方
GET取ってくる
POST新しく作る・処理を実行する
PUT丸ごと置き換える
PATCH一部だけ直す
DELETE消す

日常生活にたとえると、以下のようなイメージです。

メソッド日常生活のイメージ
GET本棚から本を取り出して読む
POST新しい本を本棚に追加する
PUT本を丸ごと新しい版に差し替える
PATCH本の一部の誤字だけ直す
DELETE本棚から本を取り除く

このように考えると、HTTPメソッドの違いが理解しやすくなります。


よくある勘違い

最後に、初心者が間違えやすいポイントを整理します。

GETでデータを変更してもよい?

基本的にはNGです。

GETはデータを取得するためのメソッドです。

データの作成・更新・削除には、POST・PUT・PATCH・DELETEなどを使います。


POSTは作成専用?

作成でよく使われますが、作成専用ではありません。

ログイン、決済、メール送信、記事の公開など、サーバー側で処理を実行する場合にも使われます。


PUTは更新専用?

実務では更新として使われることが多いですが、厳密には「指定したリソースを作成または置き換える」メソッドです。

初心者のうちは「全体を置き換える」と覚えるとわかりやすいです。


PATCHは必ず冪等?

必ずしも冪等とは限りません。

たとえば「アクセス回数を1増やす」のようなPATCH処理の場合、同じリクエストを何度も送ると結果が変わる可能性があります。

一方で、「名前を山田花子に変更する」のようなPATCHであれば、何度送っても結果は同じになります。

つまり、PATCHが冪等かどうかは、APIの設計や更新内容によって変わります。


DELETEは2回目も同じレスポンスになる?

必ずしも同じレスポンスになるとは限りません。

1回目は削除成功、2回目は「すでに存在しない」として404になることがあります。

ただし、最終的な状態は「対象データが存在しない」という点で同じなので、DELETEは冪等なメソッドとされています。


まとめ

GET・POST・PUT・PATCH・DELETEは、Web開発やAPI開発でよく使われるHTTPメソッドです。

それぞれの役割は以下の通りです。

HTTPメソッド役割
GETデータを取得する
POSTデータを作成する、処理を実行する
PUT指定したリソース全体を作成または置き換える
PATCH指定したリソースの一部を更新する
DELETE指定したリソースを削除する

初心者のうちは、まず以下のように覚えておきましょう。

GET    = 取得
POST   = 作成・処理実行
PUT    = 全体置き換え
PATCH  = 部分更新
DELETE = 削除

APIでは、URLだけでなくHTTPメソッドによって処理の意味が変わります。

正しく使い分けることで、わかりやすく、安全で、保守しやすいAPIを設計できます。

コメント

タイトルとURLをコピーしました