15

我读过 Web 服务是通过 SOAP over HTTP 传输的。那么SOAPHTTP之间有什么区别,如果它们都是通信协议呢?

有什么区别还是 HTTP 只是 SOAP 使用的绑定?

4

4 回答 4

41

有两个与 Web 服务相关的主要协议。

  • 1、传输协议——例如HTTP(常用)、TCP、UDP

  • 2、消息传递协议——例如 SOAP、XML、JSON 或二进制编码的消息

一般来说,

  • 消息传递协议负责以共同商定的格式交换消息。
  • 传输协议负责传递消息以及它应该如何通信。

一个真实的例子:HTTP 就像电话通信,SOAP 就像英语。

您通过 SOAP 消息中的 HTTP 调用 Web 服务,例如通过手机呼叫您的朋友并用英语交谈。

于 2009-04-27T08:34:44.403 回答
10

它不是网络服务传输的。相反,消息以 SOAP 格式传输。

SOAP 作为交换结构化信息的协议规范,几乎可以使用任何传输协议(HTTP 是最广泛使用的,RPC 和 SMTP 也可以使用)。

长话短说,您无法比较 HTTP 和 SOAP,因为它们是两个正交的东西。参见维基百科的介绍。

于 2009-04-27T07:38:28.033 回答
7

Web 服务不需要使用 SOAP 来实现,而且 SOAP 实际上也不需要通过 HTTP 传输(尽管这种情况很少见)。HTTP 是 Web 的底层协议,而 SOAP 是使用 XML 作为 RPC 调用信封的一种方式。

于 2009-04-27T07:39:02.680 回答
0

Http 或 Https 是基于 SOAP 运行的协议。

SOAP(简单对象访问协议)用于服务器之间的数据交换。

肥皂的客户端系统只是连接以从主服务器获取数据的其他服务器。

soap的其他选项是RPC(远程过程调用)

http://en.wikipedia.org/wiki/SOAP

于 2009-04-27T07:39:16.173 回答