什么是幂等性?
幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。
在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。
幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。
什么是接口幂等性?在HTTP/1.1
中,对幂等性进行了定义。它描述了一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外),即第一次请求的时候对资源产生了副作用,但是以后的多次请求都不会再对资源产生副作用。
这里的副作用是不会对结果产生破坏或者产生不可预料的结果。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。
为什么需要实现幂等性?在接口调用时一般情况下都能正常返回信息不会重复提交,不过在遇见以下情况时可以就会出现问题,如:
-
前端重复提交表单: 在填写一些表格时候,用户填写完成提交,很多时候会因网络波动没有及时对用户做出提交成功响应,致使用户认为没有成功提交,然后一直点提交按钮,这时就会发生重复提交表单请求。
-
用户恶意进行刷单: 例如在实现用户投票这种功能时,如果用户针对一个用户进行重复提交投票,这样会导致接口接收到用户重复提交的投票信息,这样会使投票结果与事实严重不符。
关注打赏
热门博文
- Java基础学习总结(175)——分布式ID的9种生成方式总结
- 2016年终总结
- 青春路上,岁月如烟
- Terraform 学习总结(10)—— 阿里云平台 Terraform 代码开发技巧总结
- Terraform 学习总结(9)—— 如何解决存量云资源的管理难题
- Java基础学习总结(197)—— CompletableFuture 异常处理总结
- Kubernetes 学习总结(36)—— Kubernetes 本地运行的四种方法
- Linux 学习总结(90)—— Linux 远程数据同步工具 Rsync(remote synchronize)详解
- Java基础学习总结(196)—— Java、Spring、Dubbo 三种 SPI 机制详解
- Kubernetes 学习总结(35)—— Kubernetes 1.25 正式发布,多方面重大突破