get、post、put、delete、patch的区分

发布时间 2023-11-10 17:15:13作者: 爱吃柠檬不加糖

HTTP定义了与服务器不同的交互方法,常见的方法有4种,分别是 GET、POST、PUT、DELETE; 而 PATCH 是后来新增的方法。

相关基本概念

幂等

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。
在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。
幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。
这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,setTrue() 函数
就是一个幂等函数,无论多次执行,其结果都是一样的.更复杂的操作幂等保证是利用唯一交易号(流水号)实现。

安全

指不管进行多少次操作,资源的状态都不会改变。 
该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据, 不会影响资源的内容,即该请求不会产生副作用。
无论进行多少次操作,结果都是一样的。

 

REST模式

GET

  • 安全、幂等
  • 用于信息获取

 

POST

  • 不安全、不幂等
  • 用于创建,当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

 

PUT

  • 安全、幂等
  • 用于创建或更新(完整更新数据)。

该请求就像数据库的 update 操作一样, 用来修改完整的数据内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作, 其结果并没有不同。

 

DELETE

  • 安全、幂等
  • 删除资源

 

PATCH

  • 安全、非幂等
  • 对PUT的补充,一般用来对已知资源部分更新,是后来新出的标准。

HTTP 协议中, PUT 方法已经被用来表示对资源进行整体覆盖, 而 POST 方法则没有对标准的补丁格式的提供支持。不同于 PUT 方法,而与 POST 方法类似, PATCH 方法是非幂等的,这就意味着连续多个的相同请求会产生不同的效果。

要判断一台服务器是否支持 PATCH 方法,那么就看它是否将其添加到了响应首部 Allow 或者 Access-Control-Allow-Methods(在跨域访问的场合,CORS)的方法列表中 。

另外一个支持 PATCH 方法的隐含迹象是 Accept-Patch 首部的出现,这个首部明确了 服务器端可以接受的补丁文件的格式。

 

 

参考地址:POST,GET,PUT,DELETE,PATCH等方法,你有真正了解过吗?