2013-08-21 2 views
2

RPC использует TCP как базовый протокол, а HTTP снова использует TCP в качестве базового протокола. Итак, почему широко распространен HTTP?Сравнение протокола HTTP и RPC

Почему SOAP использует HTTP в качестве базового протокола - почему бы и нет RPC?

ответ

1

Удаленные вызовы процедур (RPC) не являются протоколом, это принцип, который также используется в SOAP.

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

3

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

SOAP также может использоваться через Mails, и AFAIK (не уверен здесь), BizTalk Server должен поддерживать этот сценарий. Но даже что-то экзотическое, как попытка SOAP за Avian Carriers, также может считаться RPC, хотя латентность последних может оказаться недостаточной для реальных приложений.

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

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