REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
REST系统和基于REST的系统之间的区别是什么?
从我读到的一些东西来看,所谓的REST服务实际上就是RESTful服务。那么两者之间的区别是什么呢?
当前回答
从面向对象编程思想的角度来看,REST类似于要实现的接口,RESTfull服务类似于REST“接口”的实际实现。
REST只是定义了一组规则,说明它是REST api, RESTfull服务遵循这些规则。
上面的答案已经列出了大部分规则,但我知道一个重要的要求,在我的经验中经常被忽视,因为一个真正的REST api必须是超链接驱动的,除了所有HTTP PUT, POST, GET, DELETE爵士。
其他回答
基于REST的服务称为“REST式服务”。
来源:多布斯博士档案
谢谢你的回答。 阅读Alex Rodriguez的这篇文章,他认为RESTful web服务有4个基本特征:
显式地使用HTTP方法。 是无状态的。 公开类似目录结构的uri。 传输XML、JavaScript对象符号(JSON)或两者。
REST(表示状态传输)是一种用于创建WebServices的体系结构。
and
RESTful是一种使用REST体系结构编写服务的方式。RESTful服务公开资源,以识别与客户机交互的目标。
REST stands for representational state transfer. That means that state itself is not transferred but a mere representation of it is. The most common example is a pure HTML server based app (no javascript). The browser knows nothing about the application itself but through links and resources, the server is able transfer the state of the application to the browser. Where a button would normally change a state variable (e.g. page open) in a regular windows application, in the browser you have a link that represents such a state change.
这个想法就是使用超媒体。也许还能创造出新的超媒体类型。我们可以用javascript/AJAX扩展浏览器,并创建新的自定义超媒体类型。这样我们就有了一个真正的REST应用程序。
This is my short version of what REST stands for, the problem is that it is hard to implement. I personally say RESTful, when I want to make reference to the REST principles but I know I am not really implementing the whole concept of REST. We don't really say SOAPful, because you either use SOAP or not. I think most people don't do REST the way it was envisioned by it's creator Roy Fielding, we actually implement RESTful or RESTlike architectures. You can see his dissertation, and you will find the REST acronym but not the word RESTful.
Web服务本质上是网站,其内容是由计算机程序而不是人消费的。REST是一套体系结构原则,它规定web服务应该最大限度地利用HTTP和其他web标准,以便程序获得人们已经可以从web中获得的所有好东西。REST经常与SOAP web服务和其他面向“远程过程调用”的web服务进行对比。
Stefan Tilkov在Parleys.com上关于REST的演讲非常棒,尤其是这个。
理查德森和Ruby的《Restful Web Services》是最好的一本书。