来源:http://trac.seagullproject.org/wiki/Standards/CorrectUseOfGetAndPost

概述

许多开发者将GET和POST用错地方,如果有兴趣,可以查看http://www.cs.tut.fi/~jkorpela/forms/methods.html,了解两者间的不同与何时该使用哪个.

为了避免CSRF攻击并遵守HTTP RFC的安全和Idempotent Methods,

  • 检查所有请求,修改或删除使用HTTP POST传送的资源.
  • 对WIKI页面和附件的删除使用服务器端确认,而不使用JavaScript确认对话框。

简单地说,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
 
standards/correctuseofgetandpost.txt · 上一次变更: 2007/03/28 09:38 通过 xinhaozheng
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki