Web

HTTPメソッド

中級

読み方:エイチティーティーピーメソッド|英語:Http Method

サーバーへのリクエストの種類で、GET(取得)、POST(送信)、PUT(更新)、DELETE(削除)などがあるよ。いつ使う? APIを使うとき、データの取得はGET、新規作成はPOST、更新はPUT、削除はDELETEと使い分けるよ。間違いやすいポイント: GETリクエストにはボディ(データ本体)を含めないのが原則だよ。データを送りたいときはPOSTを使おう。また、フォームのmethod属性を忘れるとデフォルトのGETになるよ。

やさしい説明

HTTPメソッドは、サーバーに「何をしてほしいか」を伝える命令の種類です。

お店に例えると、GET=「見せて」、POST=「注文する」、PUT=「変更して」、DELETE=「取り消して」です。同じURL(/users)でもメソッドが違えば動作が変わります。

REST APIを設計するときの基本です。fetchの第2引数で method を指定します。

具体例・使い方

// GET: データを取得
fetch("/api/users");

// POST: データを作成
fetch("/api/users", {
  method: "POST",
  body: JSON.stringify({ name: "太郎" })
});

// DELETE: データを削除
fetch("/api/users/1", { method: "DELETE" });

いつ使う?

APIを作るとき・使うときに必ず意識します。データの取得はGET、作成はPOST、更新はPUT/PATCH、削除はDELETEが基本ルールです。

間違いやすいポイント

❌ GETリクエストでデータを変更する

GETは「取得専用」です。データの作成・変更・削除にはPOST/PUT/DELETEを使いましょう。GETで削除すると、ブラウザのプリフェッチで意図せず削除されることがあります。

よくある疑問

Q: GETとPOSTの違いは?

A: GETはデータ取得用(URLにパラメータが見える)、POSTはデータ送信用(ボディに含まれURLに見えない)。ログインフォームはPOSTを使います。

Q: PUTとPATCHの違いは?

A: PUTはリソース全体を置き換え、PATCHは一部だけ更新します。名前だけ変えたいならPATCHが適切です。

Q: fetchでPOSTリクエストを送るには?

A: fetch(url, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(data) }) と書きます。

関連用語

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A