最近写了一个项目的接口文档,就是简单的用postman发发请求看看响应。所以重新补了一下http请求的知识。
这篇博客就是介绍下幂等性。
幂等性:
无论调用多少次都不会产生不同副作用(数据变更)的http方法。重复发送同一个请求多次,结果同发送一次。
HTTP GET(幂等)
get用于获取资源,不管调用多少次接口,返回结果保持不变,不会改变资源。
HTTP DELETE(幂等)
delete用于删除资源,会将资源从后台删除。
HTTP PUT(幂等)
put用于更新资源,没有的话则执行创建操作。
HTTP POST(非幂等)
post用于创建资源,每次调用都会创建一个新的资源。如果客户端发出POST请求后,收到服务端的302状态码,那么不能自动的向新的URI发送重复请求,必须跟用户确认是否该重发,因为第二次POST时,环境可能已经发生变化(嗯,POST方法不是幂等的),POST操作会不符合用户预期。但是,很多浏览器(user agent我描述为浏览器以方便介绍)在这种情况下都会把POST请求变为GET请求。