REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
当前回答
谢谢你的回答。 阅读Alex Rodriguez的这篇文章,他认为RESTful web服务有4个基本特征:
显式地使用HTTP方法。 是无状态的。 公开类似目录结构的uri。 传输XML、JavaScript对象符号(JSON)或两者。
其他回答
基于REST的服务称为“REST式服务”。
来源:多布斯博士档案
基于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的。
“REST”是一种体系结构范式。“RESTful”描述了使用该范例。
具象状态传输(REST)是软件体系结构的一种风格。正如Roy Fielding在一篇论文中描述的那样,REST是一种“架构风格”,基本上利用了现有的Web技术和协议。
RESTful通常用于指实现这种体系结构的web服务。
正如Jason在评论中所说,RESTful只是作为一个形容词,用来描述尊重REST约束的东西。