我读过的文章说“除了POST方法,所有HTTP方法都是幂等的”。
我无法理解这个解释。
在我看来, “PUT和DELETE都会改变服务器上的内容,因此重复调用它们不会产生同样的效果。”
那么,为什么他们(PUT,DELETE)被认为是幂等的?
答案 0 :(得分:4)
如果你DELETE
连续两次,整体效果就像你只删除一次一样:资源消失了。
如果您使用相同名称上传(PUT
)两次相同的数据,则效果与您仅上传一次的效果相同。
答案 1 :(得分:1)
我可以通过扩展主题来回答这个问题吗?
您说PUT被认为是幂等的,但是如果响应中有一个字段,例如时间戳,例如“ LastUpdateTime”,该怎么办?
如果执行了2个完全相同的更新,则响应将不完全相同...第一个将具有比第二个小的“ LastUpdateTime”。
因此,我相信,如果您以某种方式对待实现,则某些动词被认为是等幂的。
简短的答案:“取决于您的实现方式”