この記事では、「GETメソッド」と「POSTメソッド」の違いを分かりやすく説明していきます。
「GETメソッド」とは?
「GETメソッド」とは、webブラウザから接続するサーバー(ホスト)に対し、URLに値を持たせて、リクエストすることです。
それに合ったデータ(ページ内容)が欲しいと行われるもので、例えば、自動車の販売を行っているページで、「https://www. car-sell-site. com?maker=1&type=3」といった形がそれになります(URLなどは一例で、架空のものです)。
maker(メーカー)とtype(種類)がそれぞれ数字の値として渡されており、makerの1が「トヨタ」で、typeの3が「SUV」という意味だった場合、それらの条件に合った車種が表示されるリクエストになると考えていいでしょう。
そういったサイトでも、自分でこのようにURLを打ち込む必要はなく、画面上で検索条件が入力されれば、自動的にこのようなURLで「GETメソッド」としてサーバーに送られます。
「POSTメソッド」とは?
「POSTメソッド」も、webブラウザから接続するサーバー(ホスト)へのリクエスト通信になりますが、こちらは値がURLとしては見えない形なのが特徴です。
こちらでは、通販サイトの会員登録がいい例になります。
住所や名前などを入力し、登録ボタンが押された時に、それらの値はURLに含まれることなく、サーバーに送信されます。
この方法だと、URLからはどんな値を含んで(どんな条件で)リクエストされたのか分かりません。
「GETメソッド」と「POSTメソッド」の違い
「GETメソッド」と「POSTメソッド」の違いを、分かりやすく解説します。
共に、サーバーに対してHTTPによるリクエスト通信になりますが、「GETメソッド」は、URLからどのようなリクエストなのが分かるという点が違いになります。
どちらを用いても、同じようなリクエストが可能ですが、「GETメソッド」だと、その条件のままでURLとして保存しておける(同じ画面が後からすぐに見れる)というメリットがあります。
「POSTメソッド」でリクエストされ、表示された画面は、URLとして残しておくことはできません。
まとめ
「GETメソッド」と「POSTメソッド」は、このように違います。
「GETメソッド」の方が優れているように見えますが、こちらだと、URLがとても長くなることが珍しくなく、あまりに長くなると、URLとしてブラウザが認識してくれない場合があります。
その為、会員登録の画面のようなサーバーに渡される値が多い時には、ほとんどで「POSTメソッド」が使用されています。