繁体   English   中英

spring WebClient 如何从使用 http/1.1 的 spring webflux 服务器接收 stream 数据

[英]how spring WebClient can receive stream data from spring webflux server that is using http/1.1

我有一个 spring webFlux 服务器,我还没有为它激活 SSL,它使用 HTTP/1.1 进行请求连接。 另一方面,在另一个应用程序中编写了一个 spring WebClient ,该应用程序可以很好地调用该服务器并接收 stream 数据作为答案。 但问题是我已经读过 http/1.1 协议不是为流式设计的,它用于简单的请求和响应连接,并且可以使用流式 HTTP/2。 我想知道 spring webclient 如何通过 http/1.1 协议接收 stream 数据? 还有其他 webFlux 客户端可以在 http 上使用其他编程语言吗?(除了 RSocket 可以在 TCP、WebSocket 和 UDP 上运行)。

当您正在寻找流媒体和背压支持时,您是对的,HTTP 2.0 更适合。 特别是如果它用于内部通信并且您可以控制客户端,那么强烈建议使用 HTTP 2.0/RSocket 机制。

来个问题 HTTP 1.1中,可以通过Chunked Transfer Encoding机制来实现(这是标准机制,更多细节可以上网查看)

分块传输编码是超文本传输协议 (HTTP) 版本 1.1 中可用的流式数据传输机制。 在分块传输编码中,数据 stream 被分成一系列不重叠的“块”。 这些块彼此独立地发送和接收。 在任何给定时间,发送者和接收者都不需要知道当前正在处理的块之外的数据 stream。

Spring HTTP 1.1 的 Webflux 实现在机制实现方面会有细微差别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM