Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SOAP versus HTTP [duplicate]

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?

like image 787
peter Avatar asked Apr 27 '09 07:04

peter


2 Answers

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.

like image 103
Ray Lu Avatar answered Sep 22 '22 00:09

Ray Lu


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.

like image 29
Anton Gogolev Avatar answered Sep 22 '22 00:09

Anton Gogolev