メインコンテンツまでスキップ

【POST or GET?】HTTPメソッドについて解説

· 約5分
ユースケ
ユースケ
Carriage CEO

この記事では、HTTP メソッドについて解説します。

HTTP メソッドは、クライアントがサーバーに対して行いたい処理を指定するためのものです。代表的な HTTP メソッドには、GET、POST、PUT、DELETE などがあります。それぞれの HTTP メソッドの特徴や使い分けについて説明します。

リソースについて

HTTP では、リソースという単位で情報を扱います。リソースは、URI で識別されます。リソースに対して行いたい処理を HTTP メソッドで指定してリクエストを送信します。

例えば、以下のようなものはリソースとして捉えます。

  • 商品情報
  • ユーザー情報
  • 購入情報

これらのリソースに対して、GET メソッドで情報を取得したり、POST メソッドで新しい情報を登録したりすることができます。

各メソッドの説明

GET メソッド

GET メソッドは、リソースの取得を行うためのメソッドです。ブラウザで URL を入力してページを表示するときにも GET メソッドが使用されます。

リソースの ID などや検索パラメータなどを指定したいときは、URL のクエリパラメータに指定します。例えば、https://example.com/items?id=1 のような URL で、ID が 1 の商品情報を取得するという意味になります。

GET メソッドは、POST メソッドと違って、リクエストボディにデータを含めることは想定されていないことに注意してください。

POST メソッド

POST メソッドは、リソースの新規作成や更新を行うためのメソッドです。フォームからデータを送信するときにも POST メソッドが使用されます。

POST メソッドは、リクエストボディにデータを含めることができます。例えば、ユーザー情報を登録するときは、リクエストボディにユーザー名やメールアドレスなどの情報を含めて送信します。

PUT メソッド

PUT メソッドは、リソースの更新を行うためのメソッドです。POST メソッドと同様にリクエストボディにデータを含めて送信しますが、PUT メソッドはリソースの更新を行うことを明示的に示すために使用されます。

また PUT メソッドは冪等であるように設計されています。冪等とは、同じリクエストを複数回送信しても、リソースの更新の結果が変わらないことを指します。

そのため、POST メソッドは新規作成、PUT メソッドは更新という使い分けがされることが多いです。

DELETE メソッド

DELETE メソッドは、リソースの削除を行うためのメソッドです。リソースを削除するときに使用します。

DELETE メソッドは、リクエストボディにデータを含めることは想定されていないことに注意してください。リソースの ID などは GET メソッドと同様に URL のパスに含めて送信します。

実例を見てみよう

以下は、ブログアプリケーションの URL 設計例です。

  • 記事一覧の取得: GET /articles
  • 記事詳細の取得: GET /articles/:id
  • 記事の新規作成: POST /articles
  • 記事の更新: PUT /articles/:id
  • 記事の削除: DELETE /articles/:id

このように、HTTP メソッドを使い分けることで、リソースに対して適切な処理を行うことができます。