SOAP和HTTP协议之间的区别?

use*_*er0 39 soap protocols http

SOAP和HTTP协议之间有什么区别.当我们说"SOAP over HTTP"时,这是什么意思.

lre*_*der 58

您可以通过HTTP提供任何内容,例如HTML,图像,声音,视频等.SOAP是基于XML的消息编码,通常通过HTTP发送,但可以通过SMTP甚至FTP发送,尽管我从来没有看到在生产环境中使用的这种系统.

就像HTTP位于TCP/IP之上一样,SOAP位于HTTP之上.层顶层...

如果查看SOAP请求,可以看到两个层,顶部是HTTP标头,后面是SOAP消息.来自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>
Run Code Online (Sandbox Code Playgroud)

更多阅读材料:

  • HTTP通过TCP*和*IP.在OSI模型中,TCP位于传输层中,HTTP(和SOAP)位于应用程序层中.请参阅https://en.wikipedia.org/wiki/OSI_model.但这并没有改变答案.就像一个屋顶坐落在房子的顶部,SOAP在HTTP上分层.你可以争论屋顶和房子在同一层,但屋顶仍然在房子的顶部. (3认同)