Узгодження HTTP/2 з проксі та його ціллю
Параметр --proxy-http2 у curl керує з’єднанням із HTTPS-проксі. Ціль усередині тунелю узгоджує власну версію HTTP.
Сайт може відповідати через HTTP/2 у тунелі HTTP/1.1 CONNECT. Його сеанс TLS узгоджує цільовий протокол незалежно від з’єднання клієнт–проксі. Правильне й зворотне: HTTP/2 до HTTPS-проксі не змушує сайт використовувати 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-проксі та збірку curl із підтримкою HTTP/2. Перевірте curl --version, потім прочитайте докладне узгодження: проксі може пропонувати лише HTTP/1, який curl і використає. Параметр не вмикає HTTP/2 на звичайному HTTP- або SOCKS-слухачі.
Записуйте узгодження проксі окремо від версії HTTP кінцевої передачі. Версія відповіді або значення write-out кінцевої передачі не описує автоматично зовнішнього з’єднання з проксі.
Для точки з публічного списку HTTP-проксі почніть із підтримуваного транспорту та повного запиту. Додавайте параметр, коли справді маєте HTTPS-проксі й хочете перевірити цю зовнішню можливість, а не тому, що сайт підтримує HTTP/2. Навіть два проксі до одного HTTP/2-сайту можуть відрізнятися маршрутизацією, навантаженням і часом встановлення; сама версія сайту не пояснює продуктивності.