REST读书笔记
REST RPC区别
RPC/SOAP: Remote Procedure Call,实现类C/S模式的开发,类似于C/S socket开发,RPC调用与通讯协议无关,RPC的理念是远程API调用,传输特定参数和对象给远端的procedure能够处理并返回处理的结果对象,SOAP最主要的工作是使用标准的XML描述了RPC的请求信息。而REST是基于通用接口对远程资源的状态进行访问操作的。更重要的是
在学习REST的时候,在网上查找了一些关于RPC/SOAP的blog,其中有些博主很油菜花。
andot 《SOAP和WebService的那些事》http://andot.javaeye.com/blog/662787
酷壳 《SOAP的S是Simple》http://coolshell.cn/articles/3585.html
如同当年开发人员说DTD太复杂、不易理解、难用,然后w3c就弄出一个schema,比DTD更复杂、更难于理解、内涵更深的描述性语言来解决开发人员关于DTD的抱怨……SOAP为了标准化RPC调用,简化web service开发而产生的,最终的结果是:用更复杂的方法解决了一个复杂的问题
REST和传统的MVC架构风格的区别
REST 更适用于API调用模式的应用,例如在传统的MVC架构中,容易实现服务器状态的保存、基于请求方式的设计理念、适用于Thin Client:表现逻辑是完全分布于服务器端,页面的render,几乎不存在任何执行逻辑。
而在REST架构风格中,要求服务器端无状态-可伸缩性强、面向资源、由客户端来负责view的渲染和逻辑跳转-这也是REST更适用于富客户端的原因:
RESTful风格的服务端API根据客户端的操作请求来对资源进行处理,将处理结果返回给客户端。在富客户端应用中,由客户端扮演传统MVC框架中的controller角色,负责数据的程序、流程的转发和跳转。同时REST风格应用可以给应用程序,中间件提供服务,一些支付平台的开放接口已采用REST风格的API.