1.6 Applicability Statement
The RPC over HTTP Protocol is applicable to scenarios where an RPC client needs to communicate with an RPC server and, due to network constraints (for example, topology, firewalls, protocols, and so on), an HTTP transport is used.
This protocol is also applicable when data is received from the Internet or other public networks and additional protection for the RPC server is required. RPC over HTTP is generally not applicable in cases where a single RPC method call will be executed with little data exchanged by the RPC client and the RPC server. The reason is that the additional security provisions of this protocol and the additional synchronization required by inbound and outbound proxies introduce significant overhead on the initial connection establishment. Once a connection is established, RPC over HTTP is very efficient in transmitting data between RPC clients and RPC servers.
RPC over HTTP v1 is superseded by RPC over HTTP v2 and cannot be used unless maintaining backward compatibility with RPC over HTTP v1 is required.<2> RPC over HTTP v1 has weak security and poor compatibility with existing HTTP infrastructure, and it deviates from RPC connection-oriented protocol requirements ([MS-RPCE] section 2.1.1). More specifically, RPC over HTTP v1 does not meet the second requirement in the bulleted list in [MS-RPCE] section 2.1.1 because it fails to maintain a reliable communication session. RPC over HTTP v1 fails to keep the communication session open if the network agents deem the communication session idle.