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.

Artigos relacionados