ストリーム及びフローの制御
データの「フロー」を「制御」すること
HTTP/2では一つの接続内に複数のストリームを作ることができると言いましたが、いくつかあるストリームの内の一つが、巨大なデータを転送しようとし、リソースを占有してしまうと、他のストリームの通信がブロックされてしまいます。
これを防ぐのが、フロー制御です。
受信側「送信側!もっとデータの量減らして!データの送信ストップして!」
というように、受信側が制御します。
例えば動画サイトだと、サーバーはクライアントにデータを送信し続けますが、ユーザーが一時停止したときに、サーバーに対してデータの送信を停止するように通知します。
先ほど紹介したフレームタイプの内の一つである「WINDOW_UPDATE」などを使って制御するのですが、技術的な話については以下の参考サイトが詳しいので参考にしてみてください。
参考