コンテンツへスキップ
uencoder

ALPN

ALPN(Application-Layer Protocol Negotiation、RFC 7301)は TLS ハンドシェイク時にアプリケーションプロトコル(h2、http/1.1 等)をネゴシエートし、追加 RTT を回避する。

目的

TLS ハンドシェイク拡張で上位プロトコルをネゴシエートし、NPN の追加 RTT なしに 443 ポートを HTTP/2、HTTP/1.1 等に再利用可能にする。

メカニズム

ClientHello が ALPN 拡張でサポートプロトコルリスト(h2, http/1.1)を携帯し、ServerHello が一つを選択して返す。ネゴシエーションはハンドシェイク内で完了し、追加 RTT なし。

ユースケース

  • TLS 上の HTTP/2
  • QUIC 上の HTTP/3
  • ポートの多重化

関連ツール

References