Search code examples
httpstandardsspecificationshttp2

HTTP2 max window size


HTTP2 specification clearly states that:

Values above the maximum flow-control window size of (2^31)-1 MUST be treated as a connection error of type FLOW_CONTROL_ERROR.

What is the rationale for this hard limit? What does the limit accomplish? What potential problems is the specification trying to solve by this?


Solution

  • Most likely a concession to languages (like Java) that have signed and unsigned bits so only have 31 bits to play with for integers. Similar to this: Why is the stream identifier 31 bit in HTTP/2 and why is it preceded with a reserved bit?