SOAP 和 HTTP 协议有什么区别。当我们说“SOAP over HTTP”时,这是什么意思。?
3 回答
您可以通过 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>
更多阅读:
要与服务器交互,请求应该是使用 SOAP 的 XML 编码格式。但在 HTTP 的情况下,可以以 HTML、图像、视频格式等发送请求。SOAP 请求使用 HTTP 协议发送。
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。邮件提交的协议相同,但使用端口 587。由 [SSL] 保护的smtp连接,称为smtps,默认使用端口 465(非标准,但有时用于遗留原因)。我们可以同步或异步发送消息。会话可以自动管理。
SOAP 依赖于语言,但 SMTP 独立于语言。SOAP 主要用于 XML Web 服务。SMTP 也使用http协议来获取或发布信息。