Negoziazione HTTP/2 con un proxy e la sua destinazione
L’opzione --proxy-http2 di curl controlla la connessione al proxy HTTPS. La destinazione nel tunnel negozia la propria versione HTTP.
Il sito può rispondere con HTTP/2 attraverso un tunnel CONNECT HTTP/1.1. La sua sessione TLS negozia il protocollo di destinazione indipendentemente dalla connessione client-proxy. Vale anche il contrario: HTTP/2 verso un proxy HTTPS non impone HTTP/2 al sito.
Per provare intenzionalmente la connessione esterna, curl 8.1.0 ha aggiunto --proxy-http2:
curl --proxy https://proxy.example:8443 --proxy-http2 --connect-timeout 5 --max-time 15 --verbose https://example.com/Usa un vero proxy HTTPS e una build di curl con supporto HTTP/2. Controlla curl --version, poi leggi la negoziazione dettagliata: il proxy può offrire solo HTTP/1, che curl userà. L’opzione non abilita HTTP/2 su un listener HTTP semplice o SOCKS.
Registra la negoziazione del proxy separatamente dalla versione HTTP del trasferimento finale. Una versione di risposta o un valore write-out del trasferimento finale non descrive automaticamente la connessione esterna al proxy.
Per un endpoint della lista pubblica di proxy HTTP, parti dal trasporto supportato e da una richiesta completa. Aggiungi l’opzione quando hai effettivamente un proxy HTTPS e vuoi testare quella capacità esterna, non perché il sito supporta HTTP/2. Anche due proxy verso lo stesso sito HTTP/2 possono differire per instradamento, carico e tempo di apertura; la versione del sito da sola non spiega le prestazioni.