web-dev-qa-db-ja.com

SOAPとHTTPプロトコルの違い?

SOAPとHTTPプロトコルの違いは何ですか。「SOAP over HTTP」と言うとき、それはどういう意味ですか?

39
user0

HTML、画像、音声、動画など、HTTP経由でコンテンツを提供できます。SOAPは、通常HTTP経由で送信されますが、SMTP経由で送信できるメッセージのXMLベースのエンコードです。 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>

あなたのためのより多くの読書:

57
lreeder

サーバーと対話するには、要求はSOAPを使用したXMLエンコード形式である必要があります。ただし、HTTPの場合、要求はHTML、画像、ビデオ形式などで送信できます。SOAP要求はHTTPプロトコルを使用して送信されます。

3
ombikash das

SOAPはSimple Object Accessプロトコルの略です。メッセージの送受信に使用される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 はSimple Mail Transfer Protocolの略です。 Simple Mail Transfer Protocolは、電子メールを確実かつ効率的に転送する方法です。 smtp は、受信者のメールボックスにメールを送信するために使用されるため、さまざまな方法でメールボックスのメールにアクセスします。 smtp デフォルトでは tcp ポート25を使用します。メール送信のプロトコルは同じですが、ポート587を使用します。 smtp [SSL]で保護された接続、 smtps として知られ、デフォルトはポート465(標準ではありませんが、レガシーの理由で使用される場合があります)。メッセージを同期的または非同期的に送信できます。セッションは自動的に管理できます。

SOAPは言語に依存しますが、SMTPは言語に依存しません。 SOAPは主にXML Webサービスに使用されます。SMTPは情報を取得または投稿するために http プロトコルも使用します。

0
ombikash das