Есть ли способ для клиента, использующего только HTTP/1.1, связываться с сервером, который, по-видимому, по умолчанию использует HTTP/2 БЕЗ обновления клиента?

Я пытаюсь подключиться к серверу, который по умолчанию использует HTTP/2, с помощью Apache Http-Components 3.4, который не совместим с HTTP/2. Я вижу здесь что клиент может запросить HTTP/2 с сервера через заголовок Upgrade. Есть ли способ запросить HTTP/1.1 с сервера?


person jlcampbell1991    schedule 28.12.2017    source источник


Ответы (1)


Да, это должно быть по умолчанию. Сервер должен использовать только HTTP/2 для клиента, если это было ранее согласовано.

Либо:

  • через обновление с HTTP/1 через заголовок HTTP Upgrade
  • через согласование протокола (ALPN) во время рукопожатия TLS

Теоретически возможно принудительно использовать HTTP/2 с обеих сторон без согласования. Это называется HTTP/2 с предварительным знанием. Однако этот режим не следует использовать на общедоступных серверах, так как именно он вызывает проблемы, которые у вас возникают.

Я бы попытался поговорить с разработчиками / сопровождающими сервера, если предполагается поведение только HTTP/2.

person Matthias247    schedule 29.12.2017