Post和Get,Post和Put请求的区别

一、Post 和 Get 请求的区别

最直观的区别就是Get请求把参数包含在url中,但是Post通过request body传递参数

1、应用场景

Get请求是一个幂等的请求,一般Get请求用于对服务器资源不会产生影响的场景(如请求一个网页的资源);Post不是一个幂等的请求,一般用于对服务器资源会产生影响的场景(如注册用户)

幂等的请求:指的是同样的请求被执行一次和连续执行多次的效果是一样的,服务器的状态也是一样的。即如果一个Http请求在使用相同的数据对服务器进行相同的请求时。不会对服务器的运行状态造成任何的负担和阻塞

2、缓存

因为两个请求的应用场景不同,所以浏览器一般会对Get请求缓存,很少对Post请求缓存

3、发送报文实体部分

Get请求的报文中实体部分为空,Post请求的报文中实体部分一般为向服务器发送的数据

4、安全性

Get请求可以将请求的参数放到url中向服务器发送,但是相对于Post请求是不太安全的,因为请求的url会被保留在历史记录中

5、发送数据长度

浏览器由于对url长度的限制,所以会影响get请求发送数据时的长度,这个限制是浏览器规定的,不是RFC规定的,因此Post发送的数据更大

RFC:Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。

6、参数类型

Post的参数传递支持更多的数据类型,Get只能发送ASCII字符

二、Post和Put请求的区别

  • Put请求是向服务器端发送数据,从而修改数据的内容,但是不会增加数据的种类等,也就是说不管进行多少次操作,它的结果并没有不同,可以看做是更新数据

  • Post请求时在向服务器发送数据后,请求会改变数据的种类等资源,会创建新的内容

猜你喜欢

转载自blog.csdn.net/m0_52900946/article/details/127946109
今日推荐