ALPN
RFC 7301 Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension (ALPN) RFC 7639 The ALPN HTTP Header Field
RFC 8833 Application-Layer Protocol Negotiation (ALPN) for WebRTC RFC 9765 RADIUS/1.1: Leveraging Application-Layer Protocol Negotiation (ALPN) to Remove MD5 TLSでアプリケーション層のネゴシエーションなど
Port 443 を共有する場合などに利用する
SPDY, HTTP/2以降?
クライアントがプロトコル候補を並べ サーバが選択
サーバがプロトコルを提案、クライアント側が選択だった
UTF-8を使用する
over TCPのものはTLSをOffにする?
TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs
Connect Header に書く場合は%エスケープを利用する。プロトコル小文字、%HEXは大文字で分けているっぽい
HTTP/0.9 "http/0.9" RFC 1945
HTTP/1.0 "http/1.0" RFC 1945
HTTP/1.1 "http/1.1" RFC 9112 HTTP/2 over TLS "h2" RFC 9113
HTTP/2 over TCP "h2c" RFC 9113
FTP "ftp" RFC 959, 4217
HTTP/3 "h3" RFC 9114
DNS over TLS "dot" RFC 7858 似たもの
HTTP RFC 9110 Section 16.7 Upgrade Token Registry