web-dev-qa-db-fra.com

Différence entre SOAP et protocole HTTP?

Quelle est la différence entre le protocole SOAP et le protocole HTTP? Quand on dit "SOAP sur HTTP", qu'est-ce que cela signifie?

35
user0

Vous pouvez diffuser n'importe quel contenu via HTTP, tel que HTML, images, son, vidéo, etc. SOAP est un codage XML des messages généralement envoyés via HTTP, mais pouvant être envoyés via SMTP ou même FTP. Je n'ai jamais vu un tel système utilisé dans un environnement de production. 

Tout comme HTTP repose sur TCP/IP, SOAP se trouve sur HTTP. Couches superposées ...

Si vous examinez une demande SOAP, vous pouvez voir les deux couches, avec les en-têtes HTTP en haut, suivies du message SOAP. À partir du tutoriel w3schools SOAP :

---------  HTTP portion of the message ------ 
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

---------  SOAP portion of the message ------ 
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPrice>
    <m:StockName>IBM</m:StockName>
  </m:GetStockPrice>
</soap:Body>

</soap:Envelope>

Plus de lecture pour vous:

51
lreeder

Pour interagir avec le serveur, la requête doit être au format XML à l'aide de SOAP. Mais dans le cas de HTTP, les requêtes peuvent être envoyées au format HTML, Image, format vidéo, etc. Les requêtes SOAP sont envoyées à l'aide du protocole HTTP. 

3
ombikash das

SOAP signifie protocole d'objet simple. Il est basé sur XML utilisé pour envoyer et recevoir des messages. Il est défini avec en XML.

Exemple.

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.example/2003/05/soap-envelope/"
soap:encodingStyle="http://www.example.com/2003/05/soap-encoding">

<soap:Body>
  <m:GetPriceResponse xmlns:m="http://www.example.com/prices">
    <m:Price>1.90</m:Price>
  </m:GetPriceResponse>
</soap:Body>

</soap:Envelope> 

smtp signifie Simple Mail Transfer Protocol. Le protocole de transfert de courrier simple est un moyen de transférer le courrier électronique de manière fiable et efficace. smtp est utilisé pour envoyer un courrier électronique à la boîte aux lettres du destinataire. Il utilise donc différentes méthodes pour accéder aux messages électroniques dans sa boîte aux lettres. smtp utilise par défaut tcp port 25. Le protocole de soumission du courrier est le même, mais utilise le port 587. smtp connexions sécurisées par [SSL], également dénommées smtps , par défaut sur le port 465 (non standard, mais parfois utilisé pour des raisons héritées du passé). Nous pouvons envoyer des messages de manière synchrone ou asynchrone. Les sessions peuvent être gérées automatiquement.

SOAP dépend de la langue, mais SMTP est indépendant de la langue. SOAP est principalement utilisé pour les services Web XML. SMTP utilise également le protocole http pour obtenir ou publier des informations.

0
ombikash das