On Tue, May 24, 2016 at 08:34:57AM -0400, S.A.N wrote: > Протокол клиента HTTP/1.1 все три запроса браузер отправляет в одном > конекте. > Nginx отправляет все эти три запроса в одном конекте на бекенд. > > Теперь смотрим как все плохо в HTTP/1.1 когда в одном конекте приходит > очередь HTTP запросов, допустим время ответа у нас такое: > > GET /one HTTP/1.1 -- 500ms > GET /two HTTP/1.1 -- 20ms > GET /three HTTP/1.1 -- 10ms > > Бекенд многопоточный, он бы мог принять и обработать второй и третий запрос, > не дожидаясь обработки первого медленного запроса.
В принципе да, Nginx мог бы обрабатывать эти запросы параллельно. Не знаю, делает он так или нет, но ответы всё равно придётся отдавать в сеть последовательно: в HTTP/1.1 есть лишь pipelining, который подразумевает сериализацию ответов, но нет мультиплексирования, которое позволило бы переставлять ответы местами и/или выдавать по частям. -- Eugene Berdnikov _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru