Включение HTTP/2 в коннекторе обычного текста
Следуя документации Jetty по включению HTTP/2,
Я дошел до следующего шага,
2015-06-17 14:16:12.549: ИНФОРМАЦИЯ:oejs.ServerConnector:main: Started ServerConnector@6f32cd1e{HTTP/1.1,[http/1.1, h2c]}{0.0.0.0:8080}
Из документов,
Ни один из основных браузеров в настоящее время не поддерживает HTTP / 2 в виде обычного текста, поэтому порт 8080 сможет использовать HTTP / 2 только с определенными клиентами (например, curl), которые используют механизм обновления или предполагают HTTP/2.
В документации упоминаются "конкретные клиенты", но какой клиент я могу использовать для решения этой проблемы? Я попыталсяokHttp
а также apache-httpclient
, okHttp
не поддерживает механизм обновления (AFAIK, было бы здорово, если бы это было иначе), и apache-httpClient
не поддерживает h2
.
Мне в основном нужно сделать запрос GET/POST из моей программы на эту конечную точку (очевидно, с использованием HTTP/2).
Проще говоря, предложите любой клиент Java, поддерживающий незашифрованный http/2 (h2c)
Спасибо!
2 ответа
Поддержка Apache HttpCore и HttpClient 5.0 h2
так же как h2c
но в настоящее время не поддерживают http/1.1
к h2c
механизм обновления. Я не уверен, что они когда-нибудь дадут понять, что неясно, насколько вообще полезен этот механизм обновления.
Примеры кода см.
http://hc.apache.org/httpcomponents-client-5.0.x/examples-async.html
Для руководства по обновлению с HttpClient 4.5.x до HttpClient 5.0 обратитесь к: