What problem does HTTP/2 solve that HTTP/1.1 has?
Head-of-line blocking at the application layer. In 1.1 a connection carries one request at a time, so browsers opened six connections per host and pipelined badly around it. HTTP/2 multiplexes many streams over one connection, compresses headers, and lets the server prioritise. It does not fix head-of-line blocking in TCP itself — one lost packet still stalls every stream on that connection, which is precisely what HTTP/3 moves to QUIC over UDP to escape.