Включение 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 обратитесь к:

https://ok2c.github.io/httpclient-migration-guide/

Jetty Project имеет клиентскую библиотеку HTTP, которую можно использовать в качестве клиента HTTP, и поддерживает HTTP/2, как открытый текст, так и зашифрованный.

Вы хотите посмотреть эту документацию.

См. Также, как проект Jetty использует тот же клиент для тестов.

Другие вопросы по тегам