This chapter demonstrates about the HTTP/2 Flow control which implemented to over come the streams flow problems faced in HTTP 1.1, following are the concepts are covered in this chapter.
Flow Control
Flow Control
Description
HTTP/2 have the single TCP Connection to the multiple streams which leads to the header fine blocking. If TCP single connection have the multiple streams one of the stream can not be processed due to some reasons then which leads to block the over all streams and the problem faced on HTTP 1.1 in order to over come these problem HTTP/2 introduced flow control the figure below demonstrates the single TCP connections.
HTTP/2 Flow Control is similar to the flow control of the Transport level. In HTTP/2 when a connection is established the default transfer size is 64 KB which is known as the window size. If any data frames come back then user need to compare with these values. Receiver can change the window size by increase or decrease which depends on the data handled the figure below demonstrates the Transfer size.
Adjusting the window size is known as the flow control. Flow control and HTTP/2 is available at 2 levels those are the
Stream Level
which is apply to the connection as a hope which correspond to stream zero or at each individual stream.
Hop to Hop
Flow control is also per hop which is not an end to end connection which allows intermediate proxy to handle flow control between two connections so there is no need for a single end to end point flow control to be established but intermediate hops can also have the same.
Changing Window Size
Window size can be changed in some ways those are defined below.
By using the settings frame before communication takes place.
Window size can be changed during the Window Update Frame.
Summary
Key Points
HTTP/2 does not indicate how flow control should be implemented.