HTTP请求类型 get, post, put, delete汇总

在最初http协议定义的时候,http方法设置了get/post/put/delete。其实就对应了数据操作的查、新增、修改、删除的基本操作。

http开始部分为header,<html>部分为body。

get操作没有body部分,如果要传递给服务器信息,都在URL中。

post、put、delete有body部分,如果要传递服务器信息,都放在body中。
 

get:向特定的资源发出请求。请求的数据随HTTP请求头发过去。请求将信息放在URL中,比如:http://www.xxx.com/query?name=simon&male=m,可以认为是想服务器查询一个名叫simon的信息。注意:GET方法不应当被用于产生“副作用”的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。

get方式的提交需要用Request.QueryString来取得变量的值。

get方式不进行编码直接进行传递。

get传送的数据量较小,不能大于2KB。

post:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。post请求可能会导致新的资源的建立和/或已有资源的修改。请求的数据在HTTP请求头发过去之后再发过去。post作为复杂和安全的数据传递方法,因为请求的信息是放在body中,所以安全、而且丰富。一般密码可一定得这样传了,否则在地址栏里可以直接看见!

post方式提交时,你必须通过Request.Form来访问提交的内容。

post方式是经过编码传输的,而且不存在特殊字符传递出错问题。

post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

put:向指定资源位置上传其最新内容。用于上传数据。

delete:请求服务器删除Request-URI所标识的资源。

GET方法与POST方法的区别
区别一:
get重点在从服务器上获取资源,post重点在向服务器发送数据;
区别二:
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;
post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
区别三:
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式;
区别四:
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;
post较get安全性较高;
区别五:
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
post支持标准字符集,可以正确传递中文字符。

猜你喜欢

转载自blog.csdn.net/qiuhaifeng_csu/article/details/40347911
今日推荐