GET/POSTをわかりやすく解説

プログラム知識

GET/POSTをわかりやすく解説

Webプログラムを学び始めると GET と POST という言葉が出てきます。

GETとPOSTって何がちがうの?それにHTTPメソッドって何?

簡単にいうと GET と POST は Webサーバ へ 値を渡す方法 で Webサーバへ値を渡す方法 が違います。

ユート

GETとPOSTについて理解しているとWebページが表示される仕組みが理解できます。

今回はGETメソッドとPOSTメソッドについて理解しつつ、GETとPOSTの違いや使い分けも理解できるようにわかりやすく解説します。

関連記事:Webサイトが表示される仕組みについて解説

GETとPOSTについて

GETメソッドとPOSTメソッドについて解説します。GETメソッドとPOSTメソッドはWebサーバへ値を渡す際に使われます。

GETメソッドとは

GETメソッドとは

GETメソッドは、URLの後ろに渡す値をつけてWebサーバへ値を渡します。

たとえば「https://uteee.com?param1=aaa&param2=bbb」のような感じでURLの後ろへ渡す値をつけます。

GETメソッドを手紙で例えると「はがき」

GETメソッドを手紙で例えると「はがき」に近いイメージです。はがきは相手に伝える内容が誰でも見える丸見えな状態です。

POSTメソッドとは

POSTメソッドとは

POSTメソッドは、渡す値を見えないようにしてWebサーバへ値を渡します。

つまりGETメソッドのようにURLの後ろへ渡す値をつけないで目に見えないように渡します。

POSTメソッドはURL上では見えないですが、通信内容を盗聴すると見えてしまいます。

POSTメソッドを手紙で例えると「封筒」

POSTメソッドを手紙で例えると「封筒」が近いイメージです。封筒は相手に伝える内容は封筒の中に入れるので誰でも見えない隠された状態です。

GETメソッドとPOSTメソッドの違い

GETメソッドとPOSTメソッドで大きく違うのは、ブラウザからWebサーバに値を渡す方法が違います。

  • GETメソッド
    • URLの後ろに値をくっつけてWebサーバへ値を渡す
  • POSTメソッド
    • 値を簡単に見えないようにWebサーバへ渡す

GETメソッドとPOSTメソッドの似ているとこ

GETメソッドもPOSTメソッドもHTTPリクエストメソッドということです。

HTTPリクエスト

Webページを見る際にWebブラウザとWebサーバへ決められたルール(プロトコル)でリクエスト

ユート

簡単に言うと「WebサーバへWebページをください」という要求

GETメソッドとPOSTメソッドの使い分け

GETメソッドとPOSTメソッドの使い分けについて解説します。

GETメソッドは「一覧の絞込」や「ページ番号」で使う

GETメソッドは主に一覧の絞込などで使います。

GETメソッドを使う理由

一覧の絞込では「商品名」や「価格」などをWebサーバへ渡します。この値を覗き見されても問題ないのでGETメソッドを使います。

ユート

GETメソッドは値を覗き見されても問題ない場合に使います。

GETメソッドではURLに検索条件などの値がセットされているので、Webページで検索した状態をブラウザにブックマークで登録することができます。

GETメソッドで個人情報をWebサーバへ渡した場合

GETメソッドで個人情報を渡した場合のURLは「https://uteee.com?name=山田太郎&password=hogehoge123」となります。

この場合に

  • Webブラウザの履歴に上記URLが残ってしまう
  • URLは第三者が覗き見することができる

ということが発生します。

なので個人情報はGETメソッドを使用しないようにしましょう。

POSTメソッドは「会員登録」や「クレジット決済」で使う

POSTメソッドは主に会員登録やクレジット決済などで使います。

POSTメソッドを使う理由

GETメソッドだとURLの後ろに値がくっつくので個人情報が覗き見されてしまうのでPOSTメソッドを使います。

ユート

POSTメソッドはWebサーバへ渡す値を覗き見されにくいという特徴があります。

GETメソッド注意
  • GETメソッドはPOSTメソッドよりWebサーバへ渡せる情報量が少ない
    • URLの長さに限界があるため
    • ちなみにPOSTで渡せる限界もあります
  • GETメソッドは渡した値がWebブラウザの履歴に残る
  • GETメソッドで渡す値は覗き見される

まとめ

今回はGETメソッドとPOSTメソッドについて解説しました。

Webプログラミングをする上でこういった仕組みを理解しておくことは大事です。たとえば不具合やトラブルの原因を調べるときなどに役に立ちます。

ですが、プログラミングがまだ手に馴染んでいない人は、GETやPOSTについてざっくり理解でOKです。(まずはプログラミングに慣れ親しむことが大事

関連記事:Webサイトが表示される仕組みについて解説

関連用語

用語説明
WebブラウザWebページを見るソフトウェア
(Google Chrome、Edge、Safari)
WebサーバWebページのHTMLなどがあるサーバ(コンピュータ)
URLWebページの住所(アドレス)、ファイルの場所
HTTPHypertext Transfer Protocol
Webページを見る際にWebブラウザとWebサーバが通信する際のプロトコル(ルール)
HTTPリクエストWebページを見る際にWebブラウザとWebサーバへ決められたルール(プロトコル)でリクエスト
HTTPメソッドWebブラウザが行いたい処理をWebサーバに伝える要求
(GETとPOST以外にもPUT、DELETEなど色々ある)
関連用語
ユート
ユート

Webプログラマ兼ブロガー | プログラミング基礎知識を発信|Webプログラマ歴は10年以上|JavaScript,PHP.HTML | 「人生の時間は有限。悪いことをしている時間はない」
プロフィール

プログラム知識

Posted by ユート