流行的HTTP服务器或框架如何使用HTTP协议实现从HTTP服务器到HTTP客户端的异步数据流? (客户端可以是浏览器或非浏览器)
[client] ----request for data----> [server]
[client] <-------xxx------[server]
[---delay---]
[client] <-------xxxxxx---[server]
[---delay---]
[client] <-------x--------[server]
[---delay---]
[client] <-------xxx------[server]
[---delay---]
[client] <-------xxxx-----[server]
延迟可能是非确定性的
x表示对服务器有意义的单个数据对象&amp;客户端。
只是强调,我不是在寻找流的实现(例如反应流,RxJava等),但是 我想知道HTTP协议如何用于实现这种异步数据流的细节(不是视频流,而是json流)。 例如,他们使用哪些HTTP标头,使用什么样的连接等。
答案 0 :(得分:0)
基本上,这里感兴趣的HTTP标头是:
header-name:header-value(comment)
connection:keep-alive(保持连接打开)
transfer-encoding:chunked(数据以一系列块发送)
接受:application / stream + json(或其他类似的流媒体类型)
content-type:application / stream + json(或其他类似的流媒体类型)
此信息是通过观察邮递员/卷曲之间的http流量收集的 简单的spring webflux服务。
有关这些标头及其值的完整说明: