【データの受け渡し】GETとPOSTの違い
おはようございます。おーみんです。
よくホームページなどで以下の画像のようなページ(フォーム)を見ることがあるかと思います。
※こちらは僕が過去に勉強として作った際のフォームなので実際に上記のような「All Blue」というサイトがあるわけではありません。
【jQuery】オリジナルサイトの完成。 - おーみんだよ。
さて、このフォームで入力された情報を送信する方法として「GET」と「POST」の2つの方法があるのですが、その違いについて今回の記事ではまとめていこうと思います。
GETとPOSTの違いについて
「GET」も「POST」もデータをサーバ(Webサーバ)に送信するところは同じなのですが、その送信の仕方が少し違うのです。
GETの仕組み
GETで渡された情報はアドレスバーに表示されます。
フォームの名前記入欄に名前を書いて「送信」をクリックすると元のURL(http://localhost/Allblue)に入力した名前「Ooooooomin_365」が記載されます。
POSTの仕組み
それに対し、POSTで渡された情報はアドレスバーに表示されません。
POSTで良くね?となると思う
これだけ見ると、「え!GETで送信するとアドレスバーに映るのか、情報が漏れそうだ。全部POSTで送信しよ」となるかと思いますw(実際にそういう方もいるということも聞きますw)
ただ、GETで送信するとアドレスバーに情報が残っているので直接そのリンク先へ飛べたりするというメリットもあります。ブックマークをすることが出来るとか。
とはいえデータは丸見えなのでパスワードなどの個人情報を入力するフォームでは「POST」で送信すべきです。
最後に
一般的にはGETは「データを取得するときに使う」、POSTは「データを新しく登録するときに使う」と言われていますが、中身を見てみると確かに納得ですね。
Webサイト等を作るときは気を付けていこうと思います。