3 ms·
TCP is great for long lasting connections / large download and HTTP/1.x with it's connection per request, small resources model uses TCP inefficiently. Keep-al
by youngtaff 13y ago
TCP is great for long lasting connections / large download and HTTP/1.x with it's connection per request, small resources model uses TCP inefficiently.
Keep-alive reduces some of this inefficiency by re-using connections, but each connection still has to go through the 3 way handshake and growing the congestion window - multiplexing requests over a single connection reduces these inefficiencies further.
Multiplexing also allows the browser to communicate the priority of downloads - with HTTP/1.x once all the connections are in use the only way to alter the priority is to cancel a connection and start a new one (expensive), with HTTP/2.0 the browser communicates the priority with the request so the server could pause the download of lower priority resources.