REST
VSSOAP
是不该问的是正确的问题。
REST
,不像SOAP
是不一项协议。
REST
是建筑风格和一个设计用于基于网络的软件体系结构。
REST
概念被称为资源。资源的表示必须是无状态的。它是通过某种媒体类型表示的。媒体类型的一些示例包括XML
, JSON
,和RDF
..资源被组件操纵。组件通过标准的统一接口请求和操作资源。在HTTP的情况下,这个接口由标准的HTTP操作组成。GET
, PUT
, POST
, DELETE
.
@Abdulaziz的问题确实说明了REST
和HTTP
经常被串联使用。这主要是由于HTTP的简单性及其对RESTful原则的非常自然的映射。
基本休息原则
客户-服务器通信
客户机-服务器体系结构具有非常明显的关注点分离。所有以RESTful风格构建的应用程序原则上也必须是客户机-服务器。
无国籍
对服务器的每个客户端请求都要求充分表示其状态。服务器必须能够完全理解客户端请求,而无需使用任何服务器上下文或服务器会话状态。因此,所有状态都必须保持在客户端上。
可缓存
可以使用缓存约束,从而允许将响应数据标记为可缓存或不可缓存。标记为可缓存的任何数据可重用为对相同后续请求的响应。
均匀界面
所有组件必须通过一个统一的接口进行交互。因为所有组件交互都是通过这个接口进行的,所以与不同服务的交互非常简单。界面是一样的!这也意味着可以隔离地进行实现更改。这样的改变,不会影响基本的组件交互,因为统一的接口总是不变的。一个缺点是你被这个界面卡住了。如果可以通过更改接口向特定的服务提供优化,那么REST禁止这样做,这是不合时宜的。然而,好的一面是,REST是针对Web进行优化的,因此REST在HTTP上非常受欢迎!
上述概念表示REST的定义特性,并将REST体系结构与其他体系结构(如Web服务)区分开来。值得注意的是,REST服务是Web服务,但Web服务不一定是REST服务。
看这个博客岗在……上面REST设计原则的更多细节休息上面所说的子弹。
编辑:根据评论更新内容