私はHTTP/2を試しています。私はthis repoにいくつかの例を見つけました。それから私は、サーバーをstart()
JettyのHTTP/2問題 - 無効な序文
public WebServer(String path, HttpServlet servlet, int port) {
Server server = new Server(new QueuedThreadPool());
ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
context.addServlet(new ServletHolder(servlet), path);
ServerConnector connector = new ServerConnector(server, 1,1, new HTTP2ServerConnectionFactory(new HttpConfiguration()));
connector.setPort(port);
server.addConnector(connector);
}
、レポ上記とそれがエラーなしで接続されてから実行されるJava HTTP2クライアント:ここにコンストラクタは、(定型的なコードはスキップ)です。
# curl --http2 http://localhost:8080
invalid_preface
とブラウザ(クローム)は言う:しかし、私はカールと同じことをしよう
GET http://localhost:8080/ net::ERR_INVALID_HTTP_RESPONSE
は、サーバとwhong何ですか?
ブラウザの制限についての説明をありがとうございます。それでも、curlで '--http2'フラグを使うと、同じメッセージで失敗します。 – awfun
'curl'は私のために失敗しません。おそらくあなたは 'curl'の古いバージョン、' openssl'の古いバージョンなどがあります。 'curl'バージョンがHTTP/2でうまく動作するようにする必要があります。まだエラーがある場合は、完全なサーバーを投稿してくださいログとクライアントログ。 – sbordet