文档章节

HTTP 中的幂等操作

phper9999
 phper9999
发布于 2016/05/30 16:12
字数 355
阅读 27
收藏 0

了解了不安全的非幂等操作带来的问题,我们也有必要强调对于 HTTP 请求的规范。

HTTP 语义其实已经告诉了我们 GET、 POST、 PUT、 DELETE 代表的实际意义,但大多数项目依旧只是用了 GET 和 POST,虽然我们知道语义化只是口头上的声明,至于实际请求的影响是由 Web 服务端程序决定的,但这样做这意味着放弃了通过区分请求方法来决定操作类型,这会在逻辑代码中造成过于繁杂的验证机制,以确保非幂等操作没有产生副作用,这对于逐渐复杂的项目的维护产生了严重的困扰。

当我们确保每一个请求类型符合其语义,我们仅仅需要区分操作的幂等性,即可省去不必要的验证机制。比如只要是幂等操作就可以放心的发出请求,对于非幂等操作单独做验证即可。

同样的,在项目中,完全去掉非幂等操作根本不可能,但我们需要尽量去掉不必要的非幂等操作,来减少不必要的麻烦。

© 著作权归作者所有

下一篇: php 总结
phper9999
粉丝 1
博文 11
码字总数 2230
作品 0
成都
程序员
私信 提问
[转]HTTP幂等性概念和应用

基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为...

穿越星辰
2011/06/27
0
0
RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的区别?

笔者在用调用Google Calendar和Google Tasks的RESTFul API的时候,遇到了一个特殊的操作,PATCH。那么PATCH操作和PUT操作的区别是什么呢? 根据PATCH for HTTP Method 一文中的描述(http://...

chancein007
2014/06/13
0
0
HTTP协议-get,put,post,delete含义与区别

原文地址:http://286.iteye.com/blog/1420713 GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。...

liujiest
2016/08/28
321
1
Rest模式get,put,post,delete含义与区别

POST /uri 创建 DELETE /uri/xxx 删除 PUT /uri/xxx 更新或创建 GET /uri/xxx 查看 ---------------------------------------------------- GET操作是安全的。所谓安全是指不管进行多少次操作...

jerry1121
2013/06/06
0
0
简单识别 RESTful 接口

本文描述了识别一个接口是否真的是 RESTful 接口的基本方法。符合 REST 架构风格的接口,称为 RESTful 接口。本文不打算从架构风格的推导方面描述,而是从 HTTP 标准的方面描述。识别的方法同...

heiing
2015/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊spring cloud的ConsulServiceRegistry

序 本文主要研究一下spring cloud的ConsulServiceRegistry ServiceRegistry spring-cloud-commons-2.1.2.RELEASE-sources.jar!/org/springframework/cloud/client/serviceregistry/ServiceR......

go4it
昨天
1
0
Nextjs 学习 —— hooks

22

lemos
昨天
1
0
如何在spring mvc restful接口中定制化类型转换和格式化

1.痛点 最近小胖哥搞了个小程序,有几个spring mvc 接口传递了时间,时间用java 8 time 相关的api 来直接接收: 当使用根据ISO 8601格式化的参数向任何这些方法发送POST请求时,报出了如下异...

码农小胖哥
昨天
2
0
docker日志监控

日志处理机制 我们先来了解一下docker日志处理的机制,当启动一个容器的时候,它其实是docker daemon的一个子进程,docker daemon可以拿到你容器里面进程的标准输出,拿到标准输出后,它会通...

爱宝贝丶
昨天
2
0
域名已备案,但jsapi添加支付授权目录依然提示支付授权目录未通过ICP备案!!!

问题描述: 一网站域名xxx.cn已备案成功,在全国工业和信息化部(http://beian.miit.gov.cn/publish/query/indexFirst.action)查询到备案成功的,但是在微信商户平台配置jsapi添加支付授权目录...

闊苡訆涐囍醣
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部