TLS ALPNに関してはこちら
TLS上でのプロトコルネゴシエーションの仕組み、NPNとALPN
ALPN HTTP Header
現在、httpbis WGで提案されている「The Tunnel-Protocol HTTP Header Field」と言う仕様が、「The ALPN HTTP Header Field」に改称される見込みである。
ALPN HTTP Headerは、HTTPのCONNECTメソッドで確立されるトンネル上でどんなプロトコルが使用されるか示すために使用される。
ALPNヘッダではクライアントの意思を伝えるためだけのフィールドになります。使用する識別子についてはALPN(RFC7230)に従うが、Percent-Encodingを用いる。
CONNECTメソッドのリクエスト時に以下のように付加される
CONNECT www.example.com HTTP/1.1 Host: www.example.com Tunnel-Protocol: h2, http%2F1.1
("ALPN: h2, http%2F1.1"になる予定)