HTTP2 Streams behaviour

Background

I am using a library called gun, that some of you may have heard of (from the creator of cowboy). This library implements HTTP2 so it all based in streams.

Question

After reading gun’s documentation and going trough the major points of HTTP2, I still have a question - Can a HTTP2 stream handle 2 requests simultaneously?

I know HTTP2 has support for multiple Streams on the same TCP connection, and that Streams are weighted, but I can’t find information telling me if a given stream will only accept a new request once the one it is handling has finished.

Does anyone know?

Each new request gets a new stream.

1 Like

Perfect !
Can you let me know where you found this information?

Maybe from RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2)

Multiplexing of requests is achieved by having each HTTP request/ response exchange associated with its own stream (Section 5). Streams are largely independent of each other, so a blocked or stalled request or response does not prevent progress on other streams.

2 Likes