ps 最近和后端在交流关于幂等性的处理,本来以为表单提交之前只有前端需要做处理,原来后台post本来不具备幂等性,为了防重复创建后台这边会加一些优化来防止一些关键数据的重复创建
所谓的幂等性,相同的请求执行多次和执行一次的副作用是一样的;我的理解就是客户端的重复提交请求,而后端只处理一次。
根据约定( Convention ),PUT 方法用于更新数据,PATCH 方法也用于更新数据,为什么 PUT 方法是幂等的而 PATCH 方法不是幂等的呢?
打个比方:对于存在服务器中的 A 对象有个属性 B 为 1,如果要修改 B 属性为 3,则 PUT 请求是直接将修改过 B 属性的整个新对象发送给服务器查找并替换。而 PATCH 请求是在实体中包含指令 --- 将 A 对象中 B 属性的值加 2,那么如果该请求被执行多次的话,B 属性就可能不为 3 了,而 PUT 请求不论执行多少次,B 属性永远都是 3,所以说 PUT 方法是幂等的,而 PATCH 方法不是幂等的。
原文:https://www.cnblogs.com/whkl-m/p/12896472.html