来源:http://trac.seagullproject.org/wiki/Standards/CorrectUseOfGetAndPost
许多开发者将GET和POST用错地方,如果有兴趣,可以查看http://www.cs.tut.fi/~jkorpela/forms/methods.html,了解两者间的不同与何时该使用哪个.
为了避免CSRF攻击并遵守HTTP RFC的安全和Idempotent Methods,
简单地说,GET必须被用于idempotent processing的处理,其它所有的请求可以由POST来执行.
Idempotent processing:对类别的状态,没有持久明显的影响
idempotent processing意味着一个表单的提交不会引起任何的改变,除了用户界面(或,更普通地说, 在用户代理的状态).因此,它基本上对于重新找回的数据.
GET: 一个搜索的表单 POST: 修改用户的记录editing a user record GET: 调整过滤的参数来返回属性结果tweaking filter params to return property results POST: 登录到一个站点logging into a website GET: 点击按钮跳到某个页面button to go to certain page