Διαπραγμάτευση HTTP/2 με proxy και προορισμό
Το --proxy-http2 του curl ελέγχει τη σύνδεση με τον HTTPS proxy. Ο προορισμός μέσα στη σήραγγα διαπραγματεύεται τη δική του έκδοση HTTP.
Ο ιστότοπος μπορεί να απαντήσει με HTTP/2 μέσω σήραγγας CONNECT HTTP/1.1. Η συνεδρία TLS του διαπραγματεύεται το πρωτόκολλο προορισμού ανεξάρτητα από τη σύνδεση πελάτη–proxy. Ισχύει και το αντίστροφο: HTTP/2 προς έναν HTTPS proxy δεν επιβάλλει HTTP/2 στον ιστότοπο.
Για σκόπιμη δοκιμή της εξωτερικής σύνδεσης, το curl 8.1.0 πρόσθεσε το --proxy-http2:
curl --proxy https://proxy.example:8443 --proxy-http2 --connect-timeout 5 --max-time 15 --verbose https://example.com/Χρησιμοποιήστε πραγματικό HTTPS proxy και έκδοση curl με δυνατότητα HTTP/2. Ελέγξτε το curl --version και διαβάστε την αναλυτική διαπραγμάτευση: ο proxy μπορεί να προσφέρει μόνο HTTP/1, το οποίο θα χρησιμοποιήσει το curl. Η επιλογή δεν ενεργοποιεί HTTP/2 σε απλό ακροατή HTTP ή SOCKS.
Καταγράψτε τη διαπραγμάτευση του proxy ξεχωριστά από την έκδοση HTTP της τελικής μεταφοράς. Η έκδοση απόκρισης ή η τιμή write-out της τελικής μεταφοράς δεν περιγράφει αυτόματα την εξωτερική σύνδεση proxy.
Για σημείο από τη δημόσια λίστα HTTP proxy, αρχίστε με την υποστηριζόμενη μεταφορά και ένα πλήρες αίτημα. Προσθέστε την επιλογή όταν πράγματι διαθέτετε HTTPS proxy και θέλετε να δοκιμάσετε αυτή την εξωτερική δυνατότητα, όχι επειδή ο ιστότοπος υποστηρίζει HTTP/2. Ακόμη και δύο proxy προς τον ίδιο ιστότοπο HTTP/2 μπορεί να διαφέρουν σε δρομολόγηση, φόρτο και χρόνο εγκατάστασης· η έκδοση του ιστοτόπου μόνη της δεν εξηγεί την απόδοση.