SOAP versus HTTP [duplicate]

2020-02-16 19:58发布

问题:

I have read that web services are transmitted through SOAP over HTTP. Then what is the difference between SOAP and HTTP, if they are both communication protocols?

Is there any difference or is HTTP simply a binding used by SOAP?

回答1:

There are two main protocols related to web services.

  • 1st, transport protocols - e.g. HTTP(commonly used), TCP, UDP

  • 2nd, messaging protocols - e.g. SOAP, XML, JSON or binary encoded messages

Generally speaking,

  • Messaging protocols are responsible for exchanging the messages in a commonly agreed format.
  • Transport protocols are responsible for delivering the messages and how it should communicate.

A real world example: HTTP is like telephone communication, SOAP is like English.

You call the web service over HTTP in SOAP messages such as you call your friend by mobile phone and talking in English.



回答2:

It's not web services are transmitted. Rather, messages are transmitted in SOAP format.

SOAP being a protocol specification for exchanging structured information can use pretty much any transport protocol (HTTP being the most widely used, RPC and SMTP can be used as well).

Long story short, you cannot compare HTTP and SOAP since these are two orthogonal things. See Wikipedia for introduction.



回答3:

Web services do not need to be implemented using SOAP, and SOAP does not actually need to be transmitted over HTTP (although this is pretty rare). HTTP is the underlying protocol of the web, while SOAP is one way of using XML as an envelope for RPC calls.



回答4:

Http or Https is the protocol over witch SOAP runs.

SOAP (Simple Object Access Protocol) is meant for data exchange between servers.

client systems of soap are just other servers that connect to get data from the master server.

the oter option of soap is RPC (remote procedure call)

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