get、post、put、delete、head 请求方式的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了get、post、put、delete、head 请求方式的区别相关的知识,希望对你有一定的参考价值。
参考技术A 作用:获取服务端的资源特点:
1、GET方式提交的数据最多只能是2KB字节;
2、数据通过浏览器地址栏进行传递,用户信息会暴露在浏览器地址,不安全
形式:url?key1=value1&key2=value2,即:
将数据按照key=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接
作用:用于提交请求,可以向服务端更新或者创建资源
特点:理论上对提交的数据大小没有限制;数据通过http协议的body体进行传递,不会暴露用户信息,相对安全
作用:用于向指定的 URI 传送更新资源,与post的使用很相似
查看 URI 与 URL 的区别
1、每次更新提交相同的内容,结果都一致,用 PUT
2、每次更新提交相同的内容,最终的结果不一致的时候,用 POST
作用:用于删除服务端的资源
作用:只请求页面首部,响应报文中没有实体的主体部分(没有body体)
get,post,patch,put,delete,head,options
在学校的时候一般就只用到了get,post,当时理解也特别浅,觉得一般无参的时候就用get,有参的时候就用post ,然而。。。。。。
工作后,主要用的还是get,post,还有patch,put,其他的不是经常用,从网上学习点东西以备
Get : 像特定资源发出请求
Post : 像指定资源提交数据进行处理请求,请求的数据会放在body里面,get也可以在url后面拼接参数,post会把参数放在body里面
Options :返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送‘*‘的请求来测试服务器的功能性。
PATCH 用于资源的部分内容的更新,例如更新某一个字段。具体比如说只更新用户信息的电话号码字段
而 PUT 用于更新某个资源较完整的内容,比如说用户要重填完整表单更新所有信息,后台处理更新时可能只是保留内部记录 ID 不变
Put : 向指定资源位置上传其最新内容。
Delete : 请求服务器删除Request-URI所标识的资源。
Trace :回显服务器收到的请求,主要用于测试或诊断。
************************************************************************************
0,GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
1,HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。
2,PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。
3,DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。
4,POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。
5,OPTIONS:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。
************************************************************************https://blog.csdn.net/wyvbboy/article/details/51093831
CREATE :PUT
READ:GET
UPDATE:POST
DELETE:DELETE
关于在使用get请求时的问题:会因为url过长导致请求无响应,换为post请求,就能正常返回结果(猜测是url长度过长到导致)
但是查了相关资料
- HTTP 协议 未规定 GET 和POST的长度限制
- GET的最大长度显示是因为 浏览器和 web服务器限制了 URI的长度
- 不同的浏览器和WEB服务器,限制的最大长度不一样
- 要支持IE,则最大长度为2083byte,若只支持Chrome,则最大长度 8182byte
以上是关于get、post、put、delete、head 请求方式的区别的主要内容,如果未能解决你的问题,请参考以下文章
Spring 框架:返回所有 METHODS 的 HTTP OPTIONS(get、put、post、delete、trace、head、options)
laravel向我显示此错误此路由不支持POST方法。支持的方法:GET,HEAD,PUT,DELETE
HTTP协议六种请求方法,get,head,put,delete,post有什么区别
HTTP Request GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE Methods