Negociação HTTP/2 com um proxy e seu destino
A opção --proxy-http2 do curl controla a conexão com o proxy HTTPS. O destino dentro de um túnel negocia sua própria versão HTTP.
O site pode responder com HTTP/2 por um túnel CONNECT HTTP/1.1. Sua sessão TLS negocia o protocolo de destino independentemente da conexão entre cliente e proxy. O contrário também vale: HTTP/2 para um proxy HTTPS não força HTTP/2 no site.
Para testar deliberadamente a conexão externa, o curl 8.1.0 adicionou --proxy-http2:
curl --proxy https://proxy.example:8443 --proxy-http2 --connect-timeout 5 --max-time 15 --verbose https://example.com/Use um proxy HTTPS real e uma build do curl com suporte a HTTP/2. Confira curl --version e leia a negociação detalhada: o proxy pode oferecer apenas HTTP/1, que o curl usará. A opção não ativa HTTP/2 em um listener HTTP simples ou SOCKS.
Registre a negociação do proxy separadamente da versão HTTP da transferência final. Uma versão de resposta ou um valor write-out da transferência final não descreve automaticamente a conexão externa com o proxy.
Para um endpoint da lista pública de proxies HTTP, comece pelo transporte aceito e uma requisição completa. Adicione a opção quando realmente tiver um proxy HTTPS e quiser testar essa capacidade externa, não porque o site aceita HTTP/2. Até dois proxies que chegam ao mesmo site HTTP/2 podem diferir em rotas, carga e tempo de estabelecimento; a versão do site sozinha não explica o desempenho.