HTTP中的多种请求方法
GET:申请获取资源,而不对服务器产生任何影响
HEAD:和GET方法类似,不过仅仅要求服务器返回头部信息,而不需要传输任何实际内容
POST:客户端向服务器提交数据的方法。这种方法会影响服务器,服务器可能会根据收到的数据动态创建新的资源,也可能更新原有的资源。
PUT:上传某个资源
DELETE:删除某个资源
TRACK:要求目标服务器返回原始请求的内容。它可以用来查看中间服务请求,对HTTP的影响
OPTIONS:查看服务器对某个特定的UTL都支持哪些请求方法。也可以把URL设置为*,从而获取服务器支持的所有请求方法
CONNECT:用于某些代理服务器,他们能把请求的链接转化为一个安全隧道。
PATCH:对某个资源做部分修改
GET和POST的区别
1.GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&
id=123456. POST方法是把提交的数据放在HTTP包的Body中。
2.GET提交的数据大小有限制,一般是2000个字符,而POST方法提交的数据没有限制。
3.GET方法使用Request.QueryString来取得变量的值,而POST方式通过Request.From来获取变量的值
4.GET方式提交数据会带来安全问题,比如一个登陆页面,通过GET方式提交数据时,用户名和密码会出现在URL中,如果页面可以被缓存或者他人可以访问这台机器,就可以从历史纪录获得该用户的账号和密码。
总结
GET:一般用于信息获取,用URL传递参数,对所发的信息的数量也有限制,一般在2000个字符,并且GET请求方法不安全,一般使用Request.QueryString来取得变量的值
POST:一般用于修改服务器上的资源,对所发的信息没有限制;一般使用Request.From来获取变量的值,也就是说GET是通过地址栏来传值,而POST是通过表单来传值。
在一下情况下使用POST请求
1.无法使用缓存文件(更新服务器上的文件或数据库)
2.向服务器发送大量的数据,POST通过用表单来发送数据
3.为了更安全的传输数据的话使用POST