getは単なる検索
postはプラモデル
getで値を渡すときには
URL+?+値という記述をします。
たとえば
ヤフーで「java」と検索するときはこんな感じ
http://search.yahoo.co.jp/search?p=java
つまり
http://search.yahoo.co.jp/search
に対して
p=java
という値を渡す
http://search.yahoo.co.jp/search?p=java
この記述方法をgetと言います。
これはHP上にあるデータ(いろんなHPのデータ)
を単純に検索だけして来いという命令です
つまり探してデータをgetしてこい(手に入れて来い)ということですね。
ではpostはどうか。
postの場合はURLに渡す値をくっつけません。
ここがまずgetとは異なります。
×http://search.yahoo.co.jp/search?p=java
○http://search.yahoo.co.jp/search
なぜか?
postの場合は
値を渡して、何かを変更かけることを目的としているからです。
たとえばプラモデルを1回1回の操作で
作り続けているような感じです。
そしてその資源(プラモデル)が変更されたあと
その結果(作りかけの現在の状況)を取ってくる、
そういう活用方法として使われます。
買い物途中の
ショッピングカートなども
よく例として使われますね。
ここまでをまとめると
getが単純に資源へのアクセス(検索)
postが資源を変更という意味合いですね。
たとえば、getは同じ要求なら同じ結果が返ってきます。
「あなたの名前は?」
「中村です」
こんな感じです。
2回目も同じです
「あなたの名前は?」
「中村です」
同じ要求(渡す値が同じ)に対しては同じ値が返ってくる。
これがgetの特徴です。
ところがpostの要求は違います。
たとえばpostはこんな感じ。
「1億円ください!」
「はいどうぞ、残りは9億円です」
2回目はどうでしょう?
「1億円ください!」
「はいどうぞ、のこりは8億円です」
となりますので1億円減っています。
このように
サーバ側の資源を変更しながら
値を渡す方法を
postと言います。
カートの内容を変更したいときなどには
postを使うケースが多いですね。
逆に単純な値のやり取りなどには
getを使用して値を渡されることが多いです。
2月 022012
Sorry, the comment form is closed at this time.