Immediately upon successful connection, the client MUST send either a SETUP or RESUME frame with Stream ID of 0. Any other frame received that is NOT a SETUP|RESUME frame or a SETUP|RESUME frame with a Stream ID > 0, MUST cause the server to send an ERROR[INVALID_SETUP] and close the connection.
The server should have a configurable limit that determines how long to wait for the SETUP or RESUME frame to materialize or close the connection otherwise. This timeout should probably have some default value that is enforced out of the box but can be customized.
The spec says:
The server should have a configurable limit that determines how long to wait for the SETUP or RESUME frame to materialize or close the connection otherwise. This timeout should probably have some default value that is enforced out of the box but can be customized.
Note: originally reported in the Spring Framework issue tracker, as https://github.com/spring-projects/spring-framework/issues/27373, along with a repro project (see
/dos_idle_connections
and theserver.sh
script).