L'extension sur laquelle HTTP/2 repose
HTTP/2 se négocie pendant le handshake TLS : le client annonce les protocoles qu'il sait parler et le serveur en choisit un. Cette négociation, c'est Application-Layer Protocol Negotiation, et elle se déroule à l'intérieur de la couche TLS, en dessous de tout ce qu'un composant HTTP peut atteindre. La bibliothèque Indy standard ne la prend pas en charge, c'est donc la bibliothèque Indy personnalisée qui rend ALPN disponible, et avec lui HTTP/2.