POSTメソッド【HTTPリクエストメソッド】
Webサーバに対するお願いの種類だよ
「データをやる(から追加しておけ)」な、お願いだよ
値を渡すときは見えないところ(HTTPリクエストのボディ部)にくっつけて送るよ
簡単に書くよ
POSTメソッド【HTTPリクエストメソッド】(読:ポストメソッド 英:POST method)とは
ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して出される お願いの種類のひとつ
であり
WebブラウザからWebサーバに渡す値を見えないところにくっつけて送るやり方
です。
本来の意味は
「このデータをやるから追加しておけ」な、お願い
ですけどね。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として、ホームページが表示される流れと「HTTPリクエストメソッド」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。
これが、ホームページが表示されるときの流れです。
さて、この流れにおいて、WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されました。
話を単純化するために「このページをおくれ」な お願いとしましたが、実は お願いの種類は1つでは ありません。
いろいろ、あります。
「このページをおくれ」以外にも「このデータをくれてやるよ」や「このデータを消しちゃってよ」など、いろいろあるのです。
このWebブラウザさんからWebサーバさんに対する「お願いの種類」を専門用語で「HTTPリクエストメソッド」と言います。
以上を踏まえて
HTTPリクエストメソッドのひとつで「このデータをくれてやるよ」な、お願い
が「POSTメソッド」です。
単に「POST」と呼ばれる場合も あります。
POSTメソッドの特徴は、WebブラウザさんからWebサーバさんに渡す値を見えないところにくっつけて送ることです。
先ほどのホームページが表示される流れの最初を思い出してください。
WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されるところです。
このとき追加でWebブラウザさんから情報が送られる場合があります。
送られる情報は画面で入力した値とかです。
例えば会員登録なんかをすると、自分の名前を画面で入力したりしますよね。
その入力された情報は、次の「このページをおくれ」な お願いを出すタイミングでWebサーバさんに送られます。
POSTメソッドを使った場合、送られる情報は見えないところ(HTTPリクエストのボディ部)にくっつきます。
そのため、どんな情報を送ろうとURL(ホームページの住所)は変わりません。
本来のURLが
http://wa3.i-3-i.info/search.html
だったとすると、POSTで送ったときのURLは
http://wa3.i-3-i.info/search.html
のままです。
よく使われる「お願いの種類」には他に「GETメソッド」と呼ばれるやつがあります。
GETメソッドを使った場合、送られる情報はURLの後ろにくっつきます。
本来のURLが
http://wa3.i-3-i.info/search.html
だったとすると、GETで送ったときのURLは
http://wa3.i-3-i.info/search.html?q=piyota
のようになるのです。
WebブラウザからWebサーバに値を送るときのやり方がPOSTメソッド(とGETメソッド)の大きな特徴です。
気が向いたら、セットで覚えてあげてください。
POSTメソッド:値を見えない所に隠して送る
GETメソッド:値をURLの後ろにくっつけて送る
です。
……というのが本来の意味とは少し外れるけど分かりやすいであろう説明です。
本来の意味で言えば、POSTメソッドは「このデータをやる(から追加しておけ)」な お願いです。
一方のGETメソッドは「このページをおくれ」な お願いです。
ちょっと違いますが、イメージは
POSTメソッド:送るときに使う
GETメソッド:受け取るときに使う
です。
とはいえ「POSTメソッド」という単語を目にするのは「GETメソッド」と比較する場合が多いはずです。
そのため(多少、本来の意味とは外れますが)「値を見えないところに隠して送るやり方」と表現しました。
以上でPOSTメソッド自体の説明は終わりです。
ホームページを「使う」立場の人は、お疲れ様でした。
ゆっくり脳みそを休めてください。
ホームページを「作る」立場の人は、もう少しだけお付き合いください。
大事な留意事項があります。

初心者のうちは分からないでしょうが
他の人に見られて困る情報(パスワードとか)は絶対にGETでは送らない
を徹底してください。
パスワードやクレジットカード番号を送るときは絶対にPOSTを使うようにしましょう。
理由は
GETで送るとURLにくっつくから
です。
URLにくっつくということは
閲覧履歴に残る
ことを意味します。
みんなで使っているパソコンとかの閲覧履歴にパスワードが残ったら、どうでしょう。
かなり嫌ですよね。
あるいは「リファラ」と呼ばれる「前にいたページは、ここです」な情報に残る場合も あります。
他にも、あれやこれやな事態が考えられます。
いずれにせよ、GETで重要情報を送ると
URLを見られる=重要情報の漏えい
になってしまうわけです。
POSTも気休めなところはありますが、少なくともGETよりはマシです。
他の人に見られて困る情報(パスワードとか)は絶対にGETでは送らない
を徹底してください。
一言でまとめるよ
まぁ「POSTメソッド」って単語が出てきたら「値を見えない所に隠してWebサーバ
(ホームページのファイルが置いてあるコンピュータ)に送るやり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「post(ポスト)」の意味は「郵便」とか「役職」とか「掲示する」とか「郵送する」とか「(インターネットなどに)投稿する」とかです。
「method(メソッド)」の意味は「方法」とか「方式」とか「手法」とかです。
何となく くっつけると
郵送する方式
となります。
■検索してみる?






