频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
http幂等性解析
2018-08-11 15:57:41           
收藏   我要投稿

幂等性定义

幂等性是数学中的一个概念,表达的是N次变换与1次变换的结果相同。

HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。

HTTP的幂等性

HTTP GET方法用于获取资源,不应有副作用,所以是幂等的。比如:GET https://www.bank.com/account/123456,不会改变资源的状态,不论调用一次还是N次都没有副作用。请注意,这里强调的是一次和N次具有相同的副作用,而不是每次GET的结果相同。GET https://www.news.com/latest-news这个HTTP请求可能会每次得到不同的结果,但它本身并没有产生任何副作用,因而是满足幂等性的。

HTTP DELETE方法用于删除资源,有副作用,但它应该满足幂等性。比如:DELETE https://www.forum.com/article/4231,调用一次和N次对系统产生的副作用是相同的,即删掉id为4231的帖子;因此,调用者可以多次调用或刷新页面而不必担心引起错误。

POST所对应的URI并非创建的资源本身,而是资源的接收者。

比如:POST https://www.forum.com/articles的语义是在https://www.forum.com/articles下创建一篇帖子,HTTP响应中应包含帖子的创建状态以及帖子的URI。两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI;

所以,POST方法不具备幂等性。

而PUT所对应的URI是要创建或更新的资源本身。比如:PUT https://www.forum/articles/4231的语义是创建或更新ID为4231的帖子。

对同一URI进行多次PUT的副作用和一次PUT是相同的;因此,PUT方法具有幂等性。

点击复制链接 与好友分享!回本站首页
相关TAG标签 http 幂等性 解析
上一篇:python浅拷贝和深拷贝的理解
下一篇:鲜为人知的Python语法教程
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站