2009-04-27 3 views
13

Я прочитал, что веб-службы передаются через SOAP через HTTP. Тогда в чем разница между SOAP и HTTP, если они оба являются протоколами связи?SOAP по сравнению с HTTP

Есть ли какая-либо разница или это просто HTTP-привязка, используемая SOAP?

ответ

36

Есть два основных протокола, связанные с веб-службами.

  • 1-й, транспортные протоколы - например, HTTP (обычно используется), TCP, UDP

  • вторых, протоколы обмена сообщениями - например, SOAP, XML, JSON или двоичные закодированные сообщения

Вообще говоря,

  • протоколы обмена сообщениями отвечают за обмен сообщений в обычно согласованном формате.
  • Транспортные протоколы несут ответственность за предоставление сообщений и как ему следует связаться.

Пример реального мира: HTTP - это как телефонная связь, SOAP - как английский.

Вы вызываете веб-службу через HTTP в сообщениях SOAP, например, вы звоните своему другу по мобильному телефону и разговариваете по-английски.

10

Это не веб-службы, передаваемые. Скорее, сообщения передаются в формате SOAP.

SOAP, являющийся спецификацией протокола для обмена структурированной информацией, может использовать практически любой транспортный протокол (HTTP-протокол является наиболее широко используемым, RPC и SMTP также могут использоваться).

Короче говоря, вы не можете сравнивать HTTP и SOAP, так как это две ортогональные вещи. См. Wikipedia для введения.

+0

HTTP является, безусловно, НЕ транспортным протоколом. Это протокол приложения. Он использует транспортный протокол TCP/IP. HTTP гораздо больше, чем просто транспортный протокол. – aehlke

+1

@Wahnfrieden: HTTP - это транспортный протокол с точки зрения SOAP. В противном случае вы абсолютно правы. –

+0

Да и вот почему SOAP - это плохая вещь :) – aehlke

7

Веб-сервисы не должны быть реализованы с использованием SOAP, и SOAP фактически не нужно передавать по HTTP (хотя это довольно редко). HTTP является основным протоколом Интернета, а SOAP - одним из способов использования XML в качестве конверта для вызовов RPC.

0

Http или Https - протокол протокола SOAP.

SOAP (Simple Object Access Protocol) предназначен для обмена данными между серверами.

Клиентские системы мыла - это просто другие серверы, которые подключаются для получения данных с главного сервера.

OTER вариант мыла RPC (удаленный вызов процедуры)

http://en.wikipedia.org/wiki/SOAP

+0

SOAP уже RPC. – aehlke

Смежные вопросы