Я пытаюсь подключиться к серверу, который по умолчанию использует HTTP/2, с помощью Apache Http-Components 3.4, который не совместим с HTTP/2. Я вижу здесь что клиент может запросить HTTP/2 с сервера через заголовок Upgrade
. Есть ли способ запросить HTTP/1.1 с сервера?
Есть ли способ для клиента, использующего только HTTP/1.1, связываться с сервером, который, по-видимому, по умолчанию использует HTTP/2 БЕЗ обновления клиента?
Ответы (1)
Да, это должно быть по умолчанию. Сервер должен использовать только HTTP/2 для клиента, если это было ранее согласовано.
Либо:
- через обновление с HTTP/1 через заголовок HTTP
Upgrade
- через согласование протокола (ALPN) во время рукопожатия TLS
Теоретически возможно принудительно использовать HTTP/2 с обеих сторон без согласования. Это называется HTTP/2 с предварительным знанием. Однако этот режим не следует использовать на общедоступных серверах, так как именно он вызывает проблемы, которые у вас возникают.
Я бы попытался поговорить с разработчиками / сопровождающими сервера, если предполагается поведение только HTTP/2.
person
Matthias247
schedule
29.12.2017