With limits to core Internet protocol performance and end-user perceived performance (latency), HTTP/2 addresses some of these limits with multiplexing multiple requests in one TCP connection. This avoids the need to queue requests on the client without blocking each other and supported by all major browsers and web servers.
Also, the ability to evolve Internet protocols has become problematic. HTTP proxies that tried to compress responses made it more difficult to deploy new compression techniques. TCP optimization made it more difficult to deploy improvements to TCP.
And there is a move towards more encryption on the Internet. A new version of TLS has a greatly reworked handshake that allows application data to flow from the start, and relies upon ephemeral key exchange, ruling out static keys that can be compromised.
Read more about the details here...