java—SpringWebClient如何从使用http/1.1的SpringWebFlux服务器接收流数据

yiytaume  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(330)

我有一个springwebflux服务器,我还没有为它激活ssl,它使用http/1.1进行请求连接。另一方面,在另一个应用程序中编写了一个springwebclient,它调用这个服务器并接收流数据作为应答。但问题是,我已经读到http/1.1协议不是为流而设计的,它用于简单的请求和响应连接,并且可以使用http/2作为流。我想知道SpringWebClient是如何通过http/1.1协议接收流数据的?还有没有其他webflux客户端可以在其他编程语言的http上工作?(除了通过tcp、websocket和udp工作的rsocket)。

deikduxw

deikduxw1#

当您正在寻找流和背压支持时,您是对的HTTP2.0更适合。特别是如果它是用于内部通信并且您可以控制客户端,那么强烈建议使用HTTP2.0/rsocket机制。
对于HTTP1.1中的问题,可以通过分块传输编码机制来实现(这是一种标准机制,更多细节可以在网上查看)
分块传输编码是超文本传输协议(http)1.1版中提供的流数据传输机制。在分块传输编码中,数据流被分成一系列不重叠的“块”。这些块相互独立地发送和接收。在任何给定的时间,发送方和接收方都不需要知道当前正在处理的块之外的数据流。
http1.1的springwebflux实现在机制的实现方面有其细微差别。

相关问题