Application-Layer Protocol Negotiation (ALPN) is a TLS extension (defined in RFC 7301) for identifying what application-layer protocol is negotiating the encrypted connection, without requiring additional round trips to do so.

Protocol Identification sequence
HTTP/1.1 0x68 0x74 0x74 0x70 0x2F 0x31 0x2E 0x31 ("http/1.1")
HTTP/2 0x68 0x32 ("h2")
HTTP/2 over cleartext TCP 0x68 0x32 0x63 ("h2c")

See also