REST系统和基于REST的系统之间的区别是什么?

从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?


当前回答

在Richardson成熟度模型中定义了4个级别的API。这些被定义为:

level 0: any system that has a single endpoint for all its apis(SOAP or RPC fall in this category). Level 0 apis can also resemble "commands". level 1: a ResourceUri described system. This is a system that defines multiple entity-based URIs (instead of having a single endpoint like a level 0 systems would). These URIs can use different http actions (POST, GET, PUT, etc) to implement different actions against that resource. level 2: aka level 1 w/ a compliant use of Standard HTTP methods/verbs and multi status code responses level 3: aka level 2 plus HATEOAS (hypermedia included in the response which describes additional calls you can make)

虽然级别1、级别2和级别3可以被认为是REST系统,但只有更严格的级别(即级别2和级别3)才被认为是RESTful的。

所以本质上所有的RESTful api都是REST api,但并不是所有的REST api都是RESTful的

理查德森成熟度模型的定义

其他回答

“REST”是一种体系结构范式。“RESTful”描述了使用该范例。

具象状态传输(REST)是软件体系结构的一种风格。正如Roy Fielding在一篇论文中描述的那样,REST是一种“架构风格”,基本上利用了现有的Web技术和协议。

RESTful通常用于指实现这种体系结构的web服务。

正如Jason在评论中所说,RESTful只是作为一个形容词,用来描述尊重REST约束的东西。

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/

把REST看作一个体系结构“类”,而RESTful是该类的众所周知的“实例”。

请注意“”;这里我们不是在处理“真正的”编程对象。