なんでGETメソッドじゃだめなの

RailsのcreateアクションとかはなんでPOSTなのか。なんでGETじゃだめなのか。
調べたらRFCで『GETはリソースに変更がないこと、副作用がないこと』みたいな感じで定義されているからっぽい。

別にcreateアクションをGETで実装可能だけど次の点からPOSTで実装するべきっぽい。
・GETだと検索エンジンクローラーがcreateアクション踏んじゃう。
RailsだとCSRF対策のトークンが生成されない。
・ユーザ間でサイトのURLを教える時にナチュラルにCSRFをしちゃう可能性がある。

参考
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1274407522

1月2日は吹雪ませんように。