[转]理解HTTP幂等性】的更多相关文章

转载: 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.再加上浏览器.Javascript.AJAX.JSON以及HTML5等技术和工具的发展,互联网应用架…
理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.再加上浏览器.Javascript.AJAX.JSON以及HTML5等技术和工具的发展,互联网应用架构设计表…
基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.再加上浏览器.Javascript.AJAX.JSON以及HTML5等技术和工具的发展,互联网应用架构设计表现出了从传统的PHP…
在httpcomponent 文档中看到如下段落: 1.4.1. HTTP transport safety It is important to understand that the HTTP protocol is not well suited to all types of applications. HTTP is a simple request/response oriented protocol which was initially designed to support s…
基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服 务,还是客户端消费Web服务都非常简单.再加上浏览器.Javascript.AJAX.JSON以及HTML5等技术和工具的发展,互联网应用架构设 计表现出了从传统的P…
原文链接:http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html…
http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客…
(转自)http://www.cnblogs.com/weidagang2046/archive/2011/06/04/idempotence.html 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供W…
Todd.log - a place to keep my thoughts on programming 理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.…
最近在研究http,看到http的安全方法和幂等性部分,不太明白,尤其是"post方法是非幂等的"不理解,进过查资料,找到以下两篇有价值的文章,特转过来! 理解HTTP幂等性 转自:http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web AP…
目录 接口幂等性的含义 接口符合幂等性有什么用处 HTTP方法的幂等性与安全性 如何设计符合幂等性的接口 写在最后 接口幂等性的含义 幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同. 而RESTFul API中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的,需要特别注意的是:这里幂等性指的是对资源产生的影响结果,而不是调用HTTP方法的返回结果. 举个例子,RESTFul API中的GET方法是查询资源信息,不会对资源产生影响,所以它是符合幂等性的,但是每次调…
转自: https://www.jianshu.com/p/234cf2e96832 理解HTTP幂等性基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议.HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单.再加上浏览器.Javas…
前言 HTTP Method的历史: HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这三个方法 HTTP 1.1 这个版本是当前版本,包含GET HEAD POST OPTIONS PUT DELETE TRACE CONNECT这8个方法 我们先看看HTTP 1.1 规范的中文翻译 方法定义(Method Definitions) HTTP/1.1常用方法的定义如下.虽然方法可以被展开,但新加的方法不能认为能分享与扩展的客户端和服务器同样的语义…
Todd.log - a place to keep my thoughts on programming 评OO设计 昨天在微博上看到InfoQ提供了一本新书<完美软件开发:方法与逻辑>的PDF迷你版,这本书的介绍吸引了我: 这书是培养帅才的书.如果想成为一方悍将(比如:C++高手,Android高手),那这书是不太适合的:但如果想鸟瞰全局,运筹帷幄,带领团队攻城略地,那这书是很有参考价值的. 我重点看了它的第7章“完美设计和编码之解构”,应该说这是一本好书,但是对我来说总体上没有什么新的收…
前言 只有光头才能变强 Redis目前还在看,今天来分享一下我在秋招看过(遇到)的一些面试题(相对比较常见的) 0.final关键字 简要说一下final关键字,final可以用来修饰什么? 这题我是在真实的面试中遇到的,当时答得不太好,现在来整理一下吧. final可以修饰类.方法.成员变量 当final修饰类的时候,说明该类不能被继承 当final修饰方法的时候,说明该方法不能被重写 在早期,可能使用final修饰的方法,编译器针对这些方法的所有调用都转成内嵌调用,这样提高效率(但到现在一般…
C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!https://www.cnblogs.com/doforfuture/p/6293926.htmlAsp.net缓存技术(HttpRuntime.Cache)https://www.cnblogs.com/fengxuehuanlin/p/5358219.htmlCache及(HttpRuntime.Cache与HttpContext.Current.Cache)https://www.cnbl…
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ---------------------------- -- Table structure for article -- ---------------------------- DROP TABLE IF EXISTS `article`; CREATE TABLE `article` ( `article_id` ) NOT NULL AU…
HTTP GET.DELETE.PUT.POST四种主要方法的幂等性的理解 GET: GET请求是幂等的,多次的GET请求,不应该修改数据状态,只是查询. DELETE Delete请求也具有幂等性,执行一次请求,删除id=1的记录,多次请求与一次请求的结果应该是一样的,最终的结果都是把id=1的记录删除. PUT Put意为修改记录,也具有幂等性,执行一次请求,将记录修改为特定状态,多次请求结果也应该是一样的. POST Post请求不具有幂等性,通常为增加记录.没执行一次请求,都会增加一条记…
以前就听说过这个词,但是最近看了一些文章,产生了一些疑惑, GET是幂等性.例如查一条数据,如果你给定一个id.那么你查多少次.都是这条数据,但是我疑问,这里的幂等性指的是,每次都返回一条.这个数量,还是说每次都返回同样一条数据(数据内容) DELETE是幂等性 你第一次删除数据,是删除掉.这个副作用是删除了给定id的数据,服务端数据状态发生了改变.但是你二次再删除,数据是没有的,你没删除掉.这里的幂等性如何理解,状态的改变是相对于谁的改变 看了这篇文章 http://www.oschina.n…
什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外).也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同. 这里需要关注几个重点: 幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询数据库操作,没有增删改,因此没有对数据库有任何影响). 幂等还包括第一次请求的时候对资源产生了副作用,但是以后的多次请求都不会再对资源产生副作用. 幂等关注的是以后的多次请求是否对资源产生的副作用,而不关注结果. 网络…
一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前. 拜占庭将军问题 Leslie Lamport 在三十多年前发表的论文<拜占庭将军问题>(参考[1]). 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都.由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息.在战争的时候,拜占庭军队内所有将军必需达成 一致的共识,决定是否有赢的机会才去攻打敌人的阵营.但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又…
<我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物.而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个"奇怪"的名字呢? 目录 一.为什么叫这个"奇怪"的名字?二.采用URI标识资源 二.采用URI标识…
深入理解JDK中的I/O 目 录 java内存模型GCHTTP协议事务隔离级并发多线程设计模式清楚redis.memcache并且知道区别mysql分表分库有接口幂等性了解jdk8稍微了解一下特性 jvm内存模型:堆和非堆,http://www.cnblogs.com/RunForLove/p/4775999.html  对这部分的理解,只集中在关乎我们编程的东西部分. 堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的.堆.非堆:虚拟机栈.本地方法栈.程序计数器.方…
越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高并发等特点. 网站开发,完全可以采用软件开发的模式.但是传统上,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究系统之间的通信.互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件. RESTful架构,就是目前最流行的一种互联网软件架构.它…
越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高并发等特点. 网站开发,完全可以采用软件开发的模式.但是传统上,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究系统之间的通信.互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件. RESTful架构,就是目前最流行的一种互联网软件架构.它…
核心概念 在讨论NSQ如何在实践中使用前,先理解NSQ队列的架构原理是非常值得的.它的设计很简单,可以通过几个核心概念来理解. Topic --一个topic就是程序发布消息的一个逻辑键,当程序第一次发布消息时就会创建topic. Channels --channel组与消费者相关,是消费者之间的负载均衡,channel在某种意义上来说是一个"队列".每当一个发布者发送一条消息到一个topic,消息会被复制到所有消费者连接的channel上,消费者通过这个特殊的channel读取消息,…
一.幂等性概念 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同.幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数.这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变.例如,“getUsername()和setTrue()”函数就是一个幂等函数. 更复杂的操作幂等保证是利用唯一交易号(流水号)实现. 我的理解:幂等就是一个操作,不论执行多少次,产生的效果和返回的结果都是一样的. 二.幂等性场景1.查询操作:查询一次和查询多次,在数…
编者按:这是看过的Raft算法博客中比较通俗的一篇了,讲解问题的角度比较新奇,图文并茂,值得一看.原文链接:Raft 为什么是更易理解的分布式一致性算法 一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前. 拜占庭将军问题 Leslie Lamport 在三十多年前发表的论文<拜占庭将军问题>(参考[1]). 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都.由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息.…
一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前. 拜占庭将军问题 Leslie Lamport 在三十多年前发表的论文<拜占庭将军问题>(参考[1]). 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都.由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息.在战争的时候,拜占庭军队内所有将军必需达成 一致的共识,决定是否有赢的机会才去攻打敌人的阵营.但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又…
qnmd bd:待会劳资就去买个vpn. 在平常的工作中经常听到也用到幂等,却没有及时学习总结这个知识点,现在到时候了. 幂等性最初是一个数学上的概念:在某二元运算下,幂等元素是指被自己重复运算(或对于函数是为复合)的结果等于它自己的元素.用公式来表示就是: \(f(x) = f(f(x))\) 数学就是这么抽象,用自己的语言去描述一个概念,置于这个概念的含义有多么丰富就看自己的领会.反正我看到这个是一脸蒙蔽的.高中做这种题目的时候就很蛋疼. 如果放在web应用,可以这么理解幂等:就是用户对于同…