MENU

【初心者向け】POSTとGETの違いとは?HTTPリクエストをわかりやすく解説

Webアプリを開発していると、必ず目にするのが GETPOST という言葉です。

例えば

  • フォーム送信
  • API通信
  • Ajax通信

などでよく登場します。

しかし、最初はこんな疑問を持つ人も多いのではないでしょうか。

  • GETとPOSTって何が違うの?
  • どっちを使えばいいの?
  • なんとなく使っているけど、実はよくわかっていない…

私自身も最初は「とりあえずPOSTで送っておけばいいのかな?」という曖昧な理解でした。

そこでこの記事では、自分の理解を整理する意味も含めて

  • GETとPOSTとは何か
  • それぞれの違い
  • 使い分け
  • 覚えやすいイメージ

を初心者にもわかるようにまとめました。

目次

GETとPOSTとは?

GETとPOSTは、
**HTTPリクエストの送信方法(HTTPメソッド)**の一種です。

ブラウザがサーバーに対して

「この情報をください」
「このデータを送ります」

という通信をするときに使われます。

代表的なHTTPメソッドには以下があります。

メソッド役割
GETデータを取得する
POSTデータを送信する
PUTデータを更新する
DELETEデータを削除する

この中でも、特に使用頻度が高いのがGETとPOSTです。

GETとは?

GETは、
サーバーからデータを取得するためのメソッドです。

例えば次のような場面で使われます。

  • Webページを表示する
  • 検索結果を取得する
  • APIからデータを取得する

https://example.com/users?id=10

このように URLの後ろにパラメータが付きます。

?id=10

これを クエリパラメータと呼びます。

つまりGETは

URLに情報を付けてデータを取得する

方法です。

POSTとは?

POSTは、
サーバーにデータを送信するためのメソッドです。

例えば

  • 会員登録
  • ログイン
  • フォーム送信
  • 新しいデータの登録

などで使われます。

POSTの場合、データは

HTTPリクエストのBody(本文)

に入れて送信されます。

つまり

GETのように URLには表示されません。

GETとPOSTの違い

主な違いを表にまとめるとこうなります。

項目GETPOST
主な用途データ取得データ送信
データの場所URLリクエストボディ
URL表示表示される表示されない
ブックマーク可能不可
キャッシュされるされないことが多い
データ変更基本しない変更する

簡単にまとめると

GET → データを見る
POST → データを送る

です。

イメージで覚えるGETとPOST

覚え方としておすすめなのが
言葉のイメージから連想する方法です。

GETのイメージ

GETは

「Get(ゲットする)」

つまり

情報をもらう

イメージです。

  • 商品一覧を取得
  • ユーザー情報を取得
  • 検索結果を取得

つまり

GET = 取りに行く

です。

POSTのイメージ

POSTは

「Post(投稿する)」

SNSで考えるとわかりやすいです。

  • X(旧Twitter)に投稿
  • Instagramに投稿
  • ブログ投稿

つまり

データを送る

イメージです。

なので

POST = 投稿する

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

実際の使用例

例えばユーザー登録を考えます。

ユーザー一覧を見る

GET /users

ユーザー情報を取得するだけなので
GETを使います。

ユーザーを登録する

POST /users

新しいデータを登録するため
POSTを使います。

よくある疑問

POSTは安全?

POSTはURLに表示されないため

「GETより安全」

と言われることがあります。

ただし

暗号化されていない通信(HTTP)ではどちらも安全ではありません。

安全性は

HTTPS通信

によって確保されます。

まとめ

最後に、GETとPOSTの違いを整理します。

GET

  • データを取得する
  • URLにパラメータが付く
  • ブックマークできる

POST

  • データを送信する
  • URLに表示されない
  • データ登録などで使う

覚え方はとてもシンプルです。

GET = 取りに行く
POST = 投稿する

このイメージで覚えると、
HTTP通信の理解がかなり楽になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Muta Blog運営者はデザインも開発もやるWebエンジニアです。
本ブログでは現場で培ったWebの知識やノウハウを発信しています。
Web制作歴5年/現在ReactやRubyを中心に幅広く学習中/

目次