WINDOW_UPDATE 和 HTTP/2 协议中的 SETTINGS 帧有什么区别?

What is the difference between WINDOW_UPDATE and SETTINGS frames in HTTP/2 protocol?

我已经阅读了一些 HTTP/2 rfc7540 规范,但我不完全理解 WINDOW_UPDATE 和 HTTP/2 协议中的 SETTINGS 帧之间的区别是什么?

如引用的 RFC 7540 中所述,WINDOW_UPDATE 用于实现流量控制,而 SETTINGS 传输端点必须应用的配置参数。

客户端与服务器建立了 TCP 连接。然后它可以发送一个 SETTINGS 帧来通知服务器它希望服务器遵守的配置参数。 例如,客户端可以告诉服务器它不支持 PUSH(参见 https://www.rfc-editor.org/rfc/rfc7540#section-6.5.2)。

同样,服务器可以向客户端发送包含其配置参数的 SETTINGS 帧。

另一方面,流量控制是关于每个端点可以在连接上发送多少数据字节。 唯一受流量控制的帧是数据帧。

流量控制是复用协议应该实现的必要机制。有关详细信息,请参阅 this section

总之,WINDOW_UPDATE 和 SETTINGS 框架分别实现了 HTTP/2 协议的不同功能。