HTTP/2 preserves the familiar meaning of HTTP requests and responses, but changes how those messages travel across a connection. Instead of sending a textual request followed by a textual response, it divides each message into binary frames and assigns those frames to a numbered stream.
That change allows one connection to carry many exchanges at once:
The frames for these streams can be interleaved on the wire. A slow response on stream 1 therefore does not force the server to delay a ready response on stream 3 at the HTTP layer.
Multiplexing is only one part of the design. HTTP/2 also defines connection settings, per-stream state, two levels of flow control, compressed header fields, stream cancellation, graceful shutdown, priority signals, and optional server push. These mechanisms explain practical symptoms such as requests waiting despite an open connection, a single malformed header block terminating every stream, or a server refusing new work while allowing existing responses to finish.