HTTP/2 协议中的 WINDOW_UPDATE 和 SETTINGS 帧有啥区别?
Posted
技术标签:
【中文标题】HTTP/2 协议中的 WINDOW_UPDATE 和 SETTINGS 帧有啥区别?【英文标题】:What is the difference between WINDOW_UPDATE and SETTINGS frames in HTTP/2 protocol?HTTP/2 协议中的 WINDOW_UPDATE 和 SETTINGS 帧有什么区别? 【发布时间】:2016-04-13 12:42:09 【问题描述】:我已经阅读了一些 HTTP/2 rfc7540 规范,但我不完全理解 HTTP/2 协议中 WINDOW_UPDATE 和 SETTINGS 帧之间的区别是什么?
【问题讨论】:
【参考方案1】:正如引用的RFC 7540 中所说,WINDOW_UPDATE 用于实现流控制,而 SETTINGS 传输端点必须应用的配置参数。
客户端与服务器建立 TCP 连接。然后它可以发送一个 SETTINGS 帧来通知服务器它希望服务器遵守的配置参数。 例如,客户端端点可以告诉服务器不支持 PUSH(请参阅https://www.rfc-editor.org/rfc/rfc7540#section-6.5.2)。
同样,服务器可以向客户端发送一个包含其配置参数的 SETTINGS 帧。
另一方面,流量控制是关于每个端点可以在连接上发送多少数据字节。 唯一受流控制的帧是 DATA 帧。
流控制是多路复用协议应该实现的必要机制。详情请参阅this section。
总之,WINDOW_UPDATE 和 SETTINGS 帧分别实现了 HTTP/2 协议的不同功能。
【讨论】:
以上是关于HTTP/2 协议中的 WINDOW_UPDATE 和 SETTINGS 帧有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
NET问答: 如何让 HttpClient 支持 Http 2.0 协议?