REST系统和RESTful系统有什么区别?
从我读过的大部分所谓的REST服务中,有一些是RESTful服务。那么两者有什么区别?
基于REST的服务/体系结构VC RESTFUL服务/体系结构
要区分或比较这两个,你应该知道什么是REST。REST(Representational State Transfer)基本上是一种具有一些原则的建筑风格的开发。
)它应该是无状态的
)它应该只使用URI访问服务器上的所有资源
)它没有内置的加密
)它没有会话
)它只使用一个HTTP协议
)为了执行CRUD操作,它应该使用HTTP动词,如get,post,put和delete
。)它只能以JSON或XML,atom,OData等形式返回结果(轻量级数据)
基于REST的服务遵循上面的一些原则,而不是全部,其中RESTFUL意味着它遵循所有上述原则。
它类似于基于对象的语言(它支持所有的OOPS概念,例如C ++,C#)和面向对象的语言(它支持一些OOP功能,如JavaScript,VB)的概念。示例是ASP Dot NET MVC 4是“基于REST的”,Microsoft WEB API是“RESTFul”。MVC仅支持上述REST原则中的一部分,而WEBAPI则支持上述所有REST原则。
MVC仅支持来自REST API的以下内容
)我们可以使用URI访问资源
)它支持HTTP动词从服务器访问资源
。)它可以以JSON,XML(即HTTPResponse)的形式返回结果。
但在MVC同时
)我们可以使用会话
)我们可以把它变成有状态的
)我们可以从基本上违反REST原则的控制器操作方法返回视频或图像
这就是为什么MVC是基于REST的,而WEBAPI支持所有上述原则,并且是RESTFul。
(REST)是一种软件体系结构。正如Roy Fielding的论文所述,REST是一种“架构风格”,它基本上利用了Web的现有技术和协议。
RESTful通常用于指代实现这种架构的Web服务。