リクエスト GET と POST

GETとPOSTの違い

データを投げる時(登録等)はPOST 
データを取得してくるときはGET
だという認識しかなく、きちんと分かっていなかったので少し整理。

Tech Tips: GETとPOSTの違い
http://techtipshoge.blogspot.jp/2012/08/getpost.html

○GETはサーチエンジンクローラーに踏まれる可能性があるので、
副作用のある処理をGETで処理すると、不用意にデータを消去されたり、更新されたりする可能性がある。

○GETリクエストに対するレスポンスはキャッシュできる(※)場合が多い。

○POSTリクエストに対するレスポンスがキャッシュされることはほとんどない。

○GETはURLをブックマーク保存できる。

○GETはURLにデータが載るので、Webサーバやプロキシサーバーのログに残る。

○リンクで他ページに遷移したときにRefererのところにも載る。
⇒パスワードなどのセンシティブな情報を送る場合はGETは避けるべき。

○GETにはASCII文字以外を含めない方がいい。(原則上は扱えないが、実用上は扱える。)マルチバイト文字をクエリーに含む検索処理の場合は、POSTを使う方が(idempotent=GETの基本精神に反するが)ベター。

○GETはPOSTより送信できる情報量が少ない。

○ブラウザの「戻る」ボタン⇒POSTは警告を上げる。GETはそのまま遷移。

GETで情報が結構残ることがあるのでセキュリティとかきっちりしないといけないのかな。それとは関係なしにきっちりするのが当たり前だけれどもそこらへんは全然・・・・。