我对REST的重新认识
REST是
Representational State Transfer的缩写,一般被翻译为代表性状态传输或者具象状态传输。引用
REST与SOAP之比较——REST篇的一个解释如下:
“REST风格强调,通过有限的操作或者是“动词”以及一个组件之间的标准接口,也就是HTTP协议提供的借口,来提升客户与服务之间的交互。通过为每一个 资源分配其自己的URL,来实现灵活性,REST可以调用包含上百个URI的资源类型的客户,其中的关键是REST能够给你无限多的“名词”。REST使 用HTTP的动词——简单的良定义操作集:POST,GET,PUT,DELETE进行请求和响应,从而避免了歧义。举个例子,GET只能够简单地返回资源的表现形式,而不能够创建任何其他的内容” ”REST与RPC风格之比较 远程过程调用的架构,是应用在基于XML-RPC或者 RPC风格的SOAP的Web服务中的,它却有着完全不同的风格。客户端发出命令,以使服务做出特定的操作。换句话说,RPC有动词的倾向。 REST强调资源(名词)有统一的接口以此来对它们寻址,而RPC强调过程(动词)有统一的接口来激发它们。一个基于RPC的架构,动词数量是 没有限制的。REST说,我们使用四个动词——非常熟悉,HTTP标准的GET、POST、PUT以及DELETE——来进行请求和响应,REST使用资 源寻址来处理其可变性。“ 我接触REST是从关注Rail 1.2开始的,DHH在ROR 06大会上讲了Rails 1.2的展望,其中就提到了REST,当时认为REST只是一种更加易用的WEB调用技术。经过一段时间的沉淀,特别是看了RIA+REST如何来化解Java的劣势之后突然恍悟。终于理解了REST的含义,为什么要RESTful。 REST是面向资源的。是以资源为中心的软件构建风格,这和以前是不同的,相对WebService等技术,这些技术实际上把整个架构作为一个整体来考虑的,WS知识其他架构方面的延伸。而REST不是的,REST是以资源为中心的,也就是我REST服务架构时只考虑我有哪些资源,以及提供这些资源的哪些操作(局限在PGPD(Post? Get Put Delete)中),根本不考虑外部的调用,这其实也是最大程度的解耦了客户端和服务器端的关系。 其实这也是SOA追求的目标,我觉着SOA中的S应该是REST来实现,或者就叫做ROA:) 所以说REST带来的是一种新的架构设计风格,一种不同的软件架构设计视角。 REST与SOAP之比较——REST篇 学习REST 从分布式系统的角度看REST RIA+REST如何来化解Java的劣势 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angular – RxJS Observable with Subject,通过计时器和com
- configure.in详解
- shell – UNIX脚本 – 查找文件 – 显示日期
- Angular2错误:没有指令,“exportAs”设置为“ngForm”
- 实现单进程(Single Instance)的.NET WinForm应用程序
- 基于wsdl 文件的webService接口开发
- Jekyll Bootstrap的博客 – 过期的标题?
- Angular 2 RC5子路由问题
- AngularJS中是否可以在经典的javascript函数中使用数据绑定
- angularjs – 使用Express提供Angular应用程序