SOAP和HTTP协议之间有什么区别。当我们说“SOAP over HTTP”时,这是什么意思。?
答案 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>
smtp代表简单邮件传输协议。简单邮件传输协议是一种可靠,高效地传输电子邮件的方法。 smtp用于将邮件发送到收件人的邮箱,因此使用各种方法访问其邮箱中的电子邮件。 smtp默认情况下使用tcp端口25.邮件提交协议相同,但使用[SSL]保护的端口587. smtp连接,称为smtps,默认为端口465(非标准,但有时用于遗留原因)。我们可以同步或异步发送消息。会话可以自动管理。
SOAP依赖于语言,但SMTP与语言无关。 SOAP主要用于XML Web服务。 SMTP也使用http协议来获取或发布信息。