普段使っているSNSやWebサービスで情報をやり取りするよな。そこで使うのがHTTPというものです。Webとは切っても切り離せない重要なものです。そのHTTPで情報をやり取りするのに使う方法がGETとPOSTです。ただ、情報をやり取りするのになぜ2つの方法があるのかわかるか。ざっくり言えば方向が違うらしいのです。何が違うのか、どう使い分けるのかをWebアプリをつくった経験も多いプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

Webの基本、GETとPOST

image by iStockphoto

普段からスマホやパソコンで動画を見たり、SNSに触れていますよね。Webサイトを見たり、Webサービスを利用するときには、ブラウザやスマホアプリとWebとの間でやりとりが必要です。その時に使うのがHTTPになります。そのやり取りの方法がいくつかありますが、代表的な2つがGETとPOSTWebを使う上では欠かせないものです。

この記事ではこれらの違いや使い分けについて説明していきます。

\次のページで「GET:情報を得る」を解説!/

GET:情報を得る

Webを見る時にはURLを使いますよね。URLを指定することでそれが指している情報を持ってきます。これがGETです。普段何気なくWebサイトを見たりしている時に知らず知らずに使っています。GETは英語で「得る」という意味。この情報をください、という意味になります。

POST:情報を送る

SNSに投稿する時には文章を入力しますよね。他にもユーザ登録で名前や住所を登録することや、Webで検索するためにキーワードを入力します。このようにブラウザやアプリから文章や情報を送る時に使うのがPOSTです。

POSTにはいろいろな意味がありますが、この場合は掲示板などへの投稿の意味。GETやPOSTの使い分けはWebアプリやサービスを利用しているユーザー側でするものではありません。これらを作る側が用途に応じて使い分けます。

Web通信の基本はHTTPというお約束

image by iStockphoto

Webと切っても切れないのがHTTP。Hyper Text Transport Protocolの略です。ハイパーテキストとはざっくり言えばWebのこと。テキストは文字や文章ですが、それにイメージやビデオなどを含めたものをハイパーテキストと呼びます。トランスポートは輸送の意味。プロトコルは決まりです。つまりはブラウザなどでハイパーテキストを送受信するためのお約束がHTTPになります。

例えば交通ルールは日本国内共通ですよね。これが市町村や都道府県で違っていたら大混乱です。同じようにブラウザやアプリがやりとりするためにルールが決まっています。WebアプリやWebサービスが動いているコンピュータがサーバーです。ブラウザとサーバーの間でやりとりすることでWebが使えますが、そのためのルールがHTTPになります。

サーバ→ブラウザ!GETは「取得」

ブラウザでWebを見る場合、ブックマークから呼び出したりURLを入力します。そうすると、そのURLのWebサイトにアクセスできますよね。このようにサーバからブラウザへハイパーテキストを持ってくるために使うHTTPのコマンドのようなものが「GET」です。

URLは普通「http://nantoka.com/aaa/」のようになっています。しかし、ブラウザでアドレス欄を見たときに「http://nantoka.com/aaa?page=3」のように?や=が出てくるURLを見たことありませんか。このようにほしい情報をもっと細かくとってくるためのルールもあります。例えば複数ページあるときの3ページ目がほしい場合や、10件の検索結果のうちの2件目がほしい場合がありますよね。そのようなときに使います。

ブラウザ→サーバ!POSTは「投稿」

Webは単にハイパーテキストを表示するだけではなく、さまざまな情報を送信できます。例えばSNSに投稿したり、ショッピングサイトで住所や名前を送ったりしますよね。このようにGETとは反対にブラウザやアプリからサーバーへ情報を送ることがあります。これが「POST」です。POSTというHTTPの命令のようなものを使って情報を送信します。

GETで?や=を使ったURLを使ってとってくる情報を指定すると説明しましたよね。しかし、POSTのときにはURLは特に違いはありません。それではどうやって送っているのでしょう。心配はありません。表には出てこないだけで、裏ではちゃんと情報を送信しているのです。GETとPOST、取ってくることと投稿することができるので、Webが便利に使えます

\次のページで「GET、POSTだけではない!HTTPの4メソッド」を解説!/

GET、POSTだけではない!HTTPの4メソッド

HTTPのコマンドのようなものとしてGETとPOSTを紹介しました。しかし、他にもあと2つあります。それがPUTとDELETEです。これらのものをユーザは自分で使うことはできませんブラウザやアプリの中でこれらを使ってサーバーとやり取りをすることで、ユーザが様々なことができるように作ってあるのです。

例えばSNSで画像を付けて送信したり、ファイルをアップロードすることがありますよね。そのときに使うのが「PUT」です。英語で「置く」という意味。何かを送るという点ではPOSTと似ています。通常はWebサイトの入力フォームやSNSの投稿欄のような情報を送るのがPOSTです。一方、イメージなどのファイルを送るのがPUT。そのPUTしたものを消してほしい場合に使うのがDELETEです。

特徴や使い分けは?GETとPOSTのメリット、デメリット

image by iStockphoto

サーバとブラウザやアプリがやりとりする場合に使うのがHTTPで、サーバ→ブラウザがGET、ブラウザ→サーバがPOSTと説明しました。しかし、実際にはそういう用途を想定しているというだけで、どちらも同じように使うことができます。それでどう使い分けたら良いのか混乱してしまうわけです。

本来の用途通りに使えば混乱しないのですが、ここではそれぞれの特徴とどう使い分けるかを説明します。ただ、利用者がどちらかを選択するものではなく、Webアプリなどをつくるときに必要な話です。そんなものなんだという程度で構いません。

全てはお見通し?URLでわかるGETのポイント

ざっくりとした説明で、URLに?や=が出てくるのがGETと説明しましたよね。GETを使った場合、サーバに送る情報は全てURLに並んで表示されます。送る情報が複数ある場合は「http://nanika.com/aaa?aaa=1&bbb=2&ccc=3」の様に「&」を使って並べることが可能です。Web検索で何か検索してみると、長いURLに&がいくつか出て来ますよね。キーワードの他にも様々な情報を追加して送っているわけです。

ではGETを使うメリットはなんでしょう。それは情報がURLにすべて含まれていること。例えば、Web検索した結果のページをブックマークすれば、呼び出すたびに同じ内容でその時点の最新情報を調べることができます。Web検索をブックマークから呼び出して、キーワードで検索するという手間を省けるわけです。

ナイショにしたい?セキュリティがPOSTのポイント

GETで同じことができるならPOSTは要らないですよね。それなのにPOSTが存在するのはGETだけでは足りないからです。URLに最大の長さはここまでという決まりは実は存在しません。しかし、実際にはブラウザによってURLの長さに制限があります。ブラウザによってバラバラなため目安として2000文字までには収めるべきというのが暗黙のルールです。それ以上の情報を送りたい場合、GETでは不足してしまいます。

またURLに情報があるということは履歴で見えてしまいますよね。共用のパソコンなどでサーバーに送った情報を別の人に見られてしまったら困ります。そのためセキュリティなどが気になる情報はPOSTを使うのが一般的です。

正しく使い分けよう!GETは指示、POSTは情報

同じ様に使えるGETとPOSTですが、どのように使い分けたらよいでしょう。これは送りたいものが情報なのか指示なのかで考えるとわかりやすいです。

例えば、Webで検索するときに対象の期間や日本語だけかどうか、画像や動画に限るのかということを指定できますよね。これらはほしい情報を特定するための「指示」です。このような指示はGETを使います。対して氏名や住所、電話番号などは「情報」です。これはPOSTを使います。両方が混在する場合はPOSTです。

\次のページで「GETはもらう、POSTは送る、方向を考えれば分かりやすい」を解説!/

GETはもらう、POSTは送る、方向を考えれば分かりやすい

Webを使うときにサーバーとブラウザやアプリとの間でやりとりするための決まりハイパーテキストトランスポートプロトコル(HTTP)です。これには4つのコマンドのようなものがありますが、代表的なのがGETとPOSTになります。どちらも同じ様に使うので違いが分かりにくいかもしれません。でも英語の意味で考えればGETはもらう、POSTは送るですよね。

もらうときに様々な条件を送ることができるのがGETで、情報を送るのがPOSTという違いがあります。サーバに情報を送るのか、サーバから情報をもらうのかの方向を考えれば使い分けも簡単です。

" /> GETとPOSTの違いとは?URLに出てくるだけではない?特徴やセキュリティもプログラマーが分かりやすくわかりやすく解説 – Study-Z
IT・プログラミング雑学

GETとPOSTの違いとは?URLに出てくるだけではない?特徴やセキュリティもプログラマーが分かりやすくわかりやすく解説

普段使っているSNSやWebサービスで情報をやり取りするよな。そこで使うのがHTTPというものです。Webとは切っても切り離せない重要なものです。そのHTTPで情報をやり取りするのに使う方法がGETとPOSTです。ただ、情報をやり取りするのになぜ2つの方法があるのかわかるか。ざっくり言えば方向が違うらしいのです。何が違うのか、どう使い分けるのかをWebアプリをつくった経験も多いプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

Webの基本、GETとPOST

image by iStockphoto

普段からスマホやパソコンで動画を見たり、SNSに触れていますよね。Webサイトを見たり、Webサービスを利用するときには、ブラウザやスマホアプリとWebとの間でやりとりが必要です。その時に使うのがHTTPになります。そのやり取りの方法がいくつかありますが、代表的な2つがGETとPOSTWebを使う上では欠かせないものです。

この記事ではこれらの違いや使い分けについて説明していきます。

\次のページで「GET:情報を得る」を解説!/

次のページを読む
1 2 3 4
Share: