topic
Verified 2026-09-18

HTTP Version Negotiation

Clients and servers negotiate HTTP versions before or while establishing a connection.

TLS ALPN commonly selects h2 or h3. HTTP/1.1 uses an Upgrade mechanism in narrower cases. The selected version does not change the meaning of status codes or fields.

httpprotocoltlshttp2http3

Reference (http)

ClientHello ALPN: h2, http/1.1
Alt-Svc: h3=":443"; ma=86400

TLS ALPN commonly selects h2 or h3. HTTP/1.1 uses an Upgrade mechanism in narrower cases. The selected version does not change the meaning of status codes or fields.

Common mistakes

  • Using an HTTP version token in an application-level authorization decision.
Permalink: https://merginit.com/reference/http/http-version-negotiation