如何确定Spring WebClient是否使用HTTP / 2?

问题描述 投票:0回答:2

我想知道Spring WebClient是否使用HTTP / 2。我如何确定呢?

spring-webflux http2 spring-webclient spring5
2个回答
0
投票

Spring WebClient默认使用ReactorClientHttpConnectorClientHttpConnector的Reactor-Netty实现)。并且根据此wiki Netty HTTP客户端已经支持HTTP / 2。

[如果您想检查Spring WebClient是否使用HTTP / 2,则可以使用Wireshark之类的工具来拦截您的请求并分析所使用的协议。


0
投票

HTTP / 2的服务器支持

从Spring Framework 5.1(Reactor Netty 0.8)开始,此服务器也支持HTTP / 2。 JDK9 +部署将支持该协议,而无需进行特定的基础结构更改。

Reactor是Spring WebClient使用的基础http客户端。从Spring Framework 5.1开始,它支持HTTP / 2。

另请参见Spring Framework: HTTP/2 support以获取概述。

HTTP / 2通过每个连接协商

客户端和服务器之间使用ALPN进行的每个连接

您的请求连接是使用HTTP / 2还是HTTP / 1.1是协商”。服务器present它支持什么HTTP版本,然后如果两个部分都支持HTTP / 2,则客户端选择HTTP / 2。这是通过握手中的TLS完成的,因此如果不终止TLS连接就无法检测到它。

© www.soinside.com 2019 - 2024. All rights reserved.