HTTP请求之GET,POST,DELETE,PUT
2017-11-13 21:41
190 查看
GET:
GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。HEAD:
HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。PUT:
这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。
简单地说:通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。
—–PUT请求那些封装在Request-URI的实体。如果Request-URI引用一个已存在的资源,则该封装实体应该作为原始服务器上的修改版本。如果Request-URI不是指向一个已存在的资源,并且该URI可被请求的用户代码定义为新资源,则原始服务器可用此URI创建新的资源。如果新的资源被创建,这个原始服务器就必须通过201(Created)响应通知用户代理。如果已有资源被修改,则发送200或者204响应,表示成功完成了该请求。如果Request-URI既没有创建也没有修改资源,则应给予适当的错误响应来反映问题本质。实体的接受者不能忽略任何不理解或没有实现的Content-*(如Content-Range)头部,并且必须返回501响应。
如果请求经过缓存,并且Request-URI标识出一个或多个当前缓存的实体,则那些实体视为过期了。该方法的响应不会被缓存。
DELETE:
删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。POST:
向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。OPTIONS:
这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”.POST和PUT的请求根本区别
POST请求的URI表示处理该封闭实体的资源,该资源可能是个数据接收过程、某种协议的网关、或者接收注解的独立实体。然而,PUT请求中的URI表示请求中封闭的实体-用户代理知道URI的目标,并且服务器无法将请求应用到其他资源。如果服务器希望该请求应用到另一个URI,就必须发送一个301响应;用户代理可通过自己的判断来决定是否转发该请求。HTTP/1.1没有定义一个PUT请求如何影响原始服务器的状态。
PUT请求必须遵守信息传输要求。
除非另有说明,PUT请求中的实体头部应该用于PUT创建或修改的资源上。
POST和GET的请求的区别
安全性。GET数据通过地址栏传递到服务器,数据不安全;POST数据在请求体中传递到服务器,不会在地址栏显示,因此相对安全。传递数据量大小。HTTP协议本身没有限制数据量。GET方式和POST方式都没有大小限制,但浏览器本身有限制大小(2083b)。POST方式没有大小限制,因此想发送多大的文件都可以。
是否可以放入收藏夹。GET本身就在地址栏显示,而POST是在消息体中显示。收藏夹只收藏地址。GET数据可以存储到收藏夹,而POST数据不可以。
http://blog.csdn.net/u010529455/article/details/42918639
http://www.jb51.net/article/52515.htm
相关文章推荐
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- 《HTTP小书》读书笔记(3)请求之请求方法(关键词:计算机网络/HTTP/请求方法/GET/POST/OPTIONS/PUT/DELETE/CONNECT)
- WEB API 中HTTP的get、post、put,delete 请求方式
- Node.js —— HTTP请求方法:get,head,put,delete,post
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- HttpClient 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
- SpringMVC: 处理PUT和DELETE请求时报错:HTTP Status 405 - JSPs only permit GET POST or HEAD.
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete .
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
- python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
- 【Angular】angular-HttpClient 与服务器通讯 Get Post Put Delete Http 拦截器 请求讲解
- HttpPost,HttpGet,HttpPut,HttpDelete请求方式