HTTP2 Multiplexing

Valentin V. Bartenev vbart at
Wed May 4 10:19:50 UTC 2016

On Wednesday 04 May 2016 11:25:11 Muhui Jiang wrote:
> Hi
> Different from HTTP1.1 pipeline, HTTP2 allows multiple request and response
> messages to be in flight at the same time. I was wondering what the
>  strategy  Nginx adopt to implement this main feature.

Nginx allows multiple request and responses in multiple connections using 
HTTP/1.x as well.  HTTP/2 changes nothing here (except it uses only one 
connection, but it's not important from the basic architecture point of

> Is every single stream correspond to a thread. If not, how can Nginx
> provide multiple parallel requests handling. If you can locate the
> correspond code for me, that would be great

No, nginx uses asynchronous non-blocking event-driven architecture
instead of mapping requests into separate threads.

It have used multiplexing of requests handling in single process many
years before HTTP/2 was invented.

A more detailed explanation can be found here:

  wbr, Valentin V. Bartenev

More information about the nginx mailing list