加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

我对REST的重新认识

发布时间:2020-12-17 02:50:46 所属栏目:安全 来源:网络整理
导读:REST是 Representational State Transfer的缩写,一般被翻译为 代表性状态传输或者具象状态传输。引用 REST与SOAP之比较——REST篇的一个解释如下: “REST风格强调,通过有限的操作或者是“动词”以及一个组件之间的标准接口,也就是HTTP协议提供的借口,来
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的劣势

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读