簡體   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