REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
当前回答
具象状态传输(REST)是软件体系结构的一种风格。正如Roy Fielding在一篇论文中描述的那样,REST是一种“架构风格”,基本上利用了现有的Web技术和协议。
RESTful通常用于指实现这种体系结构的web服务。
其他回答
基于REST的服务/架构vs.基于REST的服务/架构
为了区分或比较这两者,您应该了解REST是什么。
REST(具象状态传输)基本上是一种具有以下原则的开发架构风格:
它应该是无状态的 它应该只使用URI访问来自服务器的所有资源 它没有内置加密 它没有会话 它使用一个且只有一个协议——HTTP 为了执行CRUD操作,它应该使用HTTP动词,如get、post、put和delete 它应该只以JSON或XML、atom、OData等形式返回结果(轻量级数据)。
基于REST的服务遵循上面的一些原则,但不是全部
RESTFUL服务意味着它遵循上述所有原则。
它类似于:
面向对象语言支持所有面向对象的概念,例如:c++, c#
基于对象的语言支持一些面向对象的特性,例如:JavaScript, VB
例子:
asp.net MVC 4是基于rest的,而Microsoft WEB API是基于rest的。
MVC只支持上述REST原则中的一部分,而WEB API则支持上述所有REST原则。
MVC只支持REST API中的以下内容
我们可以使用URI访问资源 它支持HTTP谓词从服务器访问资源 它可以以JSON、XML的形式返回结果,也就是HTTPResponse。
然而,同时在MVC中
我们可以使用会话 我们可以让它有状态 我们可以从控制器动作方法返回视频或图像,这基本上违反了REST原则
这就是为什么MVC是基于rest的,而WEB API支持上述所有原则并且是RESTFul的。
Web服务本质上是网站,其内容是由计算机程序而不是人消费的。REST是一套体系结构原则,它规定web服务应该最大限度地利用HTTP和其他web标准,以便程序获得人们已经可以从web中获得的所有好东西。REST经常与SOAP web服务和其他面向“远程过程调用”的web服务进行对比。
Stefan Tilkov在Parleys.com上关于REST的演讲非常棒,尤其是这个。
理查德森和Ruby的《Restful Web Services》是最好的一本书。
REST(表示状态传输)是一种用于创建WebServices的体系结构。
and
RESTful是一种使用REST体系结构编写服务的方式。RESTful服务公开资源,以识别与客户机交互的目标。
REST是一种用于分布式软件的软件体系结构
遵循REST约束被称为“RESTful”。
如今,它被广泛用于构建web服务,作为SOAP的替代方案。
这里有一些链接需要检查
http://en.wikipedia.org/wiki/Representational_State_Transfer http://www.computerworld.com/s/article/297424/Representational_State_Transfer_REST_ http://www.ibm.com/developerworks/webservices/library/ws-restful/
正如Jason在评论中所说,RESTful只是作为一个形容词,用来描述尊重REST约束的东西。