HTTPのメソッドには8つのメソッドがある。
http://nw.seeeko.com/archives/50654465.html

POSTとGETの動作の違いをPHPのスクリプトで体験してみよう。
分かりやすさを優先して、余分なものは全て消してある。実際のプログラムはもう少し整形することになるだろう。
ここではあくまでも、仕組みをシンプルにお伝えすることを優先している。

スクリプトの内容
login.html
ログイン画面<br>
<FORM ACTION="result.php" METHOD="POST">
ID:<INPUT TYPE="text" NAME="id" VALUE=""><br>
Password:<INPUT TYPE="password" NAME="password" VALUE=""><br>
<INPUT TYPE="submit" VALUE="Login">
</FORM>

実際の画面は以下のようになる
login
result.php ※結果表示のスクリプト
<?php
print($_REQUEST['id']);
?>
さん、ログインしました。

POSTの場合
IDとしてuser1と、パスワードを入力してLoginボタンを押す。その後の画面(result.php)は以下のようになる。
post

GETの場合
login.htmlの赤字の「POST」部分を「GET」に変更して実行する。
GETの場合は、以下のように、入力した情報がURLに表示される。ログインIDやパスワードが漏えいするので、これはよくない。それで、POSTが使われる。
http://127.0.0.1/result.php?id=user1&password=pass
get
c2f058cb 

なるほど。
じゃあ、GETは使われないのですね?
そうでもない。Yahoo!やGoogleの検索ではURLに値が表示される。おそらくGETで処理しているはずだ。
以下は、Yahoo!にて「network」というキーワードで検索した結果である。URLに p=network の表示がある。
これにより、この検索結果のURLを保存しておいたり、誰かに共有することも可能であり、それは一つの利点である。
 また、Referer機能により、リンク先にリンク元の情報が送られる。このようにGETを利用してURLに情報が埋めこまれているから、どの検索エンジンのどのキーワードでリンク先に来たかが分かる。これによって、アクセス元の詳細な分析も可能になる。
yahoo
Googleの場合は、さらにシンプルである。
たとえば、「security」というキーワードを検索すると、結果のURLは以下
https://www.google.co.jp/#q=security