2009-04-27 15 views
13

Ho letto che i servizi Web vengono trasmessi tramite SOAP su HTTP. Quindi qual è la differenza tra SOAP e HTTP, se sono entrambi protocolli di comunicazione?SOAP contro HTTP

C'è qualche differenza o HTTP è semplicemente un legame utilizzato da SOAP?

risposta

36

Ci sono due principali protocolli connessi ai servizi web.

  • prima, protocolli di trasporto - per esempio HTTP (comunemente usati), TCP, UDP

  • 2 °, protocolli di messaggistica - per esempio SOAP, XML , JSON o messaggi codificati binari

In generale,

  • protocolli di messaggistica sono responsabili per lo scambio di messaggi in un formato concordata.
  • I protocolli di trasporto sono responsabili della consegna dei messaggi e della modalità di comunicazione di .

Un esempio reale: HTTP è come una comunicazione telefonica, SOAP è come l'inglese.

Si chiama il servizio Web su HTTP in messaggi SOAP come si chiama il proprio amico tramite telefono cellulare e si parla in inglese.

10

Non si trasmettono servizi Web. Piuttosto, i messaggi vengono trasmessi in formato SOAP.

SOAP essendo una specifica del protocollo per lo scambio di informazioni strutturate può utilizzare praticamente qualsiasi protocollo di trasporto (essendo HTTP il più utilizzato, è possibile utilizzare anche RPC e SMTP).

Per farla breve, non è possibile confrontare HTTP e SOAP poiché si tratta di due elementi ortogonali. Vedi Wikipedia per introduzione.

+0

HTTP non è assolutamente un protocollo di trasporto. È un protocollo di applicazione. Utilizza il protocollo di trasporto TCP/IP. HTTP è molto più di un semplice protocollo di trasporto. – aehlke

+1

@Wahnfrieden: HTTP è un protocollo di trasporto dal punto di vista dei SOAP. Altrimenti, sei assolutamente corretto. –

+0

Sì ed è per questo che SOAP è una cosa negativa :) – aehlke

7

I servizi Web non devono essere implementati utilizzando SOAP e SOAP non ha effettivamente bisogno di essere trasmesso su HTTP (anche se questo è piuttosto raro). HTTP è il protocollo sottostante del web, mentre SOAP è un modo di usare XML come busta per le chiamate RPC.

0

Http o Https è il protocollo su cui viene eseguito SOAP witch.

SOAP (Simple Object Access Protocol) è pensato per lo scambio di dati tra server.

I sistemi di sapone client sono solo altri server che si connettono per ottenere dati dal server principale.

la possibilità oter di sapone è RPC (Remote Procedure Call)

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

+0

SOAP è già RPC. – aehlke

Problemi correlati