SOAP和HTTP协议之间的区别?

时间:2013-10-08 15:14:41

标签: http soap protocols

SOAP和HTTP协议之间有什么区别。当我们说“SOAP over HTTP”时,这是什么意思。?

3 个答案:

答案 0 :(得分:55)

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

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

如果查看SOAP请求,可以看到两个层,顶部是HTTP标头,后面是SOAP消息。来自w3schools SOAP tutorial

---------  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>

更多阅读材料:

答案 1 :(得分:3)

要与服务器交互,请求应使用SOAP以XML编码格式。但是在HTTP的情况下,请求可以以HTML,图像,视频格式等发送.SOAP请求使用HTTP协议发送。

答案 2 :(得分:0)

SOAP代表简单对象访问协议。它基于XML,用于发送和接收消息。它以XML格式定义。

实施例

<?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> 

代表简单邮件传输协议。简单邮件传输协议是一种可靠,高效地传输电子邮件的方法。 用于将邮件发送到收件人的邮箱,因此使用各种方法访问其邮箱中的电子邮件。 默认情况下使用端口25.邮件提交协议相同,但使用[SSL]保护的端口587. 连接,称为,默认为端口465(非标准,但有时用于遗留原因)。我们可以同步或异步发送消息。会话可以自动管理。

SOAP依赖于语言,但SMTP与语言无关。 SOAP主要用于XML Web服务。 SMTP也使用协议来获取或发布信息。