【发布时间】:2018-03-07 02:37:06
【问题描述】:
我使用的是netty客户端,我确定服务器支持http/2。我可以直接启动纯文本 http/2 请求吗?我不想发送 http/1.1 请求,并使用 101 返回码升级到 http/2。
【问题讨论】:
-
尝试时收到什么错误信息?
-
我只是按照例子: DefaultFullHttpRequest upgradeRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "/"); ctx.writeAndFlush(upgradeRequest);似乎没有“HttpVersion.HTTP_2_0”。如果我用魔术词设置缓冲区:“PRI ...”:ctx.writeAndFlush(Http2CodecUtil.connectionPrefaceBuf());不会发送任何内容。
-
据我所知,http/2 只能通过 TLS 使用,因为建立连接的唯一方法是通过 ALPN(应用层协议协商),它是 TLS 的扩展。
-
http/2 可以运行纯文本。事实上我已经做到了。我只想跳过:http/1.1 请求,响应 101(交换协议)。
标签: netty