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

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


当前回答

从面向对象编程思想的角度来看,REST类似于要实现的接口,RESTfull服务类似于REST“接口”的实际实现。

REST只是定义了一组规则,说明它是REST api, RESTfull服务遵循这些规则。

上面的答案已经列出了大部分规则,但我知道一个重要的要求,在我的经验中经常被忽视,因为一个真正的REST api必须是超链接驱动的,除了所有HTTP PUT, POST, GET, DELETE爵士。

其他回答

“REST服务”和“REST式服务”是一回事。

基于REST的系统是任何遵循原始文档中定义的REST约定的系统,该文档创建了基于REST的网络应用程序的思想。

值得注意的是,RESTfulness有不同的等级。总的来说,REST是一种风格,而不是标准,因此有根据需要进行解释的空间。一个例子是分层资源url(例如/things/ID/relatedthings) vs平面url(例如/things/ID和/relatedthings?thing=ID)

谢谢你的回答。 阅读Alex Rodriguez的这篇文章,他认为RESTful web服务有4个基本特征:

显式地使用HTTP方法。 是无状态的。 公开类似目录结构的uri。 传输XML、JavaScript对象符号(JSON)或两者。

从面向对象编程思想的角度来看,REST类似于要实现的接口,RESTfull服务类似于REST“接口”的实际实现。

REST只是定义了一组规则,说明它是REST api, RESTfull服务遵循这些规则。

上面的答案已经列出了大部分规则,但我知道一个重要的要求,在我的经验中经常被忽视,因为一个真正的REST api必须是超链接驱动的,除了所有HTTP PUT, POST, GET, DELETE爵士。

Web服务本质上是网站,其内容是由计算机程序而不是人消费的。REST是一套体系结构原则,它规定web服务应该最大限度地利用HTTP和其他web标准,以便程序获得人们已经可以从web中获得的所有好东西。REST经常与SOAP web服务和其他面向“远程过程调用”的web服务进行对比。

Stefan Tilkov在Parleys.com上关于REST的演讲非常棒,尤其是这个。

理查德森和Ruby的《Restful Web Services》是最好的一本书。

REST是用于创建web服务的体系结构模式。RESTful服务就是实现该模式的服务。