Comparison between HTTP and RPC

http, networking, rpc, tcp

Solution

Remote Procedure Calls (RPC) is not a protocol, it's a principle that is also used in SOAP.

SOAP is an application protocol that uses HTTP for transport (so it won't have to think about encoding, message boundaries and so on). One of the reasons to use SOAP over HTTP is that for HTTP you usually don't need firewall rules and that the HTTP infrastructure is mature and commonly rolled out.

Problem

`RPC` protocol uses `TCP` as an underlying protocol and `HTTP` again uses `TCP` as an underlying protocol. So why is HTTP is widely accepted? Why does `SOAP` use `HTTP` as an underlying protocol - why not `RPC`?

Original source