Skip to content
uencoder

ALPN

ALPN (Application-Layer Protocol Negotiation, RFC 7301) negotiates the application protocol (e.g., h2, http/1.1) during the TLS handshake, avoiding an extra round trip.

Purpose

It negotiates the upper-layer protocol inside the TLS handshake extension, letting port 443 serve HTTP/2, HTTP/1.1, and other protocols without the extra round trip NPN required.

Mechanism

The ClientHello carries an ALPN extension listing the supported protocols (h2, http/1.1), and the ServerHello returns the one it selects. Negotiation completes within the handshake, with no additional round trip.

Use cases

  • HTTP/2 over TLS
  • HTTP/3 over QUIC
  • Port multiplexing

Related tools

References