为什么/如何SOAP是有状态的?

时间:2016-04-22 07:10:44

标签: web-services soap

我没有任何提及在这里展示我的研究的参考(因为没有链接到这一点),甚至谷歌也没有确切的答案。每个人都说网络服务是有状态的,但这令人困惑。原则上,我相信,SOAP是有状态的,REST是无状态的。那么,为什么/如何SOAP是有状态的?

2 个答案:

答案 0 :(得分:16)

基本上有状态表示服务器存储有关客户端的信息,并通过一系列请求使用该信息。因此,执行一个请求取决于某个其他请求的状态(例如,之前的)。使用http协议可以实现这一点。

所以你可以拥有有状态或无状态的SOAP - 这只是你如何设计它的问题。

另请注意,比较SOAP和REST并不正确。 第一个基本上是协议(或者至少它正在努力),REST只是一种架构模式/风格。

我知道这不是完全回答您的问题,但请看一下这个链接:SOAP vs REST (differences) 它编写得非常好,可以帮助您更好地理解这些技术。

答案 1 :(得分:1)

首先,SOAP 是协议。在其他方面,我们拥有 REST、WSDL、WCF 等服务。 SOAP 可用作各种服务中的协议。这意味着,soap 提供了在客户端和服务器之间传递数据的机制。

根据设计和主要目的,SOAP 是在服务器和客户端之间使用的数据协议。服务器(服务)保存、保存和响应数据。 Soap 作为数据可用于服务中的两种变体 - 有状态或无状态。

默认情况下,soap 服务是无状态的。例如,WSDL 肥皂服务是无状态的。简单的 WebAPI、REST。他们都是无国籍的。

WCF - 单实例是有状态的。 WCF - 每次调用都是无状态的。

有状态不是 SOAP 协议原则或背后的想法之一。服务可以是有状态的或无状态的。