1.7 Versioning and Capability Negotiation
Supported Transports: The RPC over HTTP Protocol can run on top of HTTP 1.0 or HTTPS. RPC over HTTP v2 requires HTTP 1.1 connection keep-alive support. Details are provided in section 18.104.22.168. For historical reasons related to how this protocol has evolved, some HTTP requests and HTTP responses are versioned as 1.0 and some are versioned as 1.1. When not specified explicitly in this specification, version 1.1 should be assumed to be the default.
Protocol Versions: This protocol supports the following explicit protocol dialects: RPC over HTTP v1 and RPC over HTTP v2. These protocol dialects are defined in section 1.3.2. RPC over HTTP v2 supports versioning within RPC over HTTP v2 as defined in section 22.214.171.124.7. RPC over HTTP v1 has no support for versioning.
Security and Authentication Methods: This protocol relies on the security provided by HTTPS and HTTP Basic, or NTLM authentication [MS-NTHT], and acts as a pass-through for the security provided by RPC. The RPC over HTTP Protocol does not have security and authentication provisions of its own.
Capability Negotiation: This protocol negotiates one of its two protocol dialects, RPC over HTTP v1 and RPC over HTTP v2, by trying to first establish a connection using RPC over HTTP v2. If this connection fails, the protocol falls back to RPC over HTTP v1. The negotiation between RPC over HTTP v1 and RPC over HTTP v2 is defined in section 3.