当前位置: 首页 > 知识库问答 >
问题:

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

郭意
2023-03-14

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

共有1个答案

郤仰岳
2023-03-14

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

针对HTTP 1.1中存在的问题,可以通过分块传输编码机制来实现(这是一种标准机制,更多细节可以在网上查看)

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

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

 类似资料:
  • 有人知道netty服务器处理程序取消从web服务器接收数据的最佳方法吗?我有一个服务器处理程序,它将HttpRequests代理到web服务器。但是,当请求客户端取消请求时,我希望在不关闭服务器处理程序和web服务器之间的连接的情况下停止从web服务器接收服务器通道上的数据。 有谁知道我怎么才能做到这一点。你的答复将不胜感激。 非常感谢。

  • 我想做的是: 为了学习游戏编程,我使用专用服务器和UDP创建了一个回声设置。专用服务器在不同的城市(也就是不在我的本地网络中)。 在我的本地计算机上,我有一个udp客户端和服务器(两个不同的程序)。当我第一次启动python服务器时,windows防火墙立即询问我是否要添加异常。在允许我的python服务器联网之后,我仍然没有收到任何消息。(客户- 我的问题是: 游戏如何解决这个问题?我没有为我想

  • HTTP/1.1 200确定缓存-控制:max-age=0,必须重新验证 内容-处置:附件;filename=“执行摘要.pdf” 内容-类型:application/pdf

  • 我有一个客户端测试功能,它将测试对象发送到socket.io服务器,该服务器的工作是等待客户端事件,然后将数据发送到原始客户端发出事件的房间中的每个客户端。但是,只有原始客户端从服务器接收事件。房间中的其他客户端没有接收到它。 我已经尝试了以及服务器端。两个客户端肯定加入同一个房间。服务器也从原始客户端接收事件。 Server.js: 父组件: 子组件: 我希望在两个连接的客户端上读取服务器消息,

  • 我对Kinesis是新手。阅读我发现的文档,我可以创建Kinesis流来从生产者那里获得数据。然后使用KCL将从流中读取这些数据以进行进一步的处理。我了解了如何通过引入IRecordProcessor来编写KCL应用程序。

  • 我可以在Android emulator中做些什么来将其连接到我位于或? 我已经尝试过了,但是模拟器仍然像谷歌搜索一样接受我的请求localhost或者更糟的是,它说在我的网络服务器正常运行时没有找到这个页面。