Soweit, so HTTP/1. HTTP/2 schließt die Verbindung aber danach nicht, sondern sagt sinngemäß,
HTTP/1.1 schließt die Verbindung serverseitig auch nicht wenn der Client ein Connection: Keep-Alive gesendet hat. Insofern bietet da HTTP/2 nichts Neues. Du kannst das testen indem Du einen Low-Level-Client verwendest und die Request-Headers samt Bodies in ein einziges Socket schreibst. Beim letzten Request setzt Du dann Connection: CLose und kannst alle Responses aus ein und demselben Socket lesen.
Und nicht nur das, auch hierbei kannst Du die einzelnen Bodies unzerknittert voneinander trennen, egal ob sie chunked übertragen wurden oder am Stück: Sowohl chunked als auch am Stück werden die Längenangaben mitgeliefert, so daß jeder Body bytegenau wiederhergestellt werden kann.
Auf diese Art und Weise teste ich z.B. den Status meiner Domänen und kriege auf 350 HEAD Requests 350 Responses in wenigen Augenblicken, was ansonsten sehr viel länger dauern würde. Dieses Pipelining funktioniert sogar über Proxy. Mehr zum Parsen hier und da. MfG