성능 얘기 나올 때 HTTP/2 쓰라는 말을 자주 듣는데, 정작 1.1이랑 뭐가 근본적으로 다른 건지는 잘 몰라서 여쭤봅니다.


제가 아는 건 1.1은 연결 하나에 요청을 하나씩 처리해서, 앞에 요청이 느리면 뒤에 있는 것들이 다 기다려야 한다는 거예요. 그래서 브라우저가 도메인당 연결을 여러 개(6개던가요) 열어서 우회한다고 들었고요.


HTTP/2는 연결 하나에서 요청을 잘게 쪼개서 여러 개를 동시에 주고받을 수 있다(멀티플렉싱)는 게 핵심이라던데, 그럼 앞 요청이 느려도 뒤가 안 막히는 건가요? 헤더 압축도 한다고 하고요.


근데 좀 헷갈리는 게, HTTP/2로 바꿔도 결국 밑에 TCP는 그대로잖아요. TCP 레벨에서 생기는 막힘(HOL이라고 하던가요)은 여전히 남는다는 글도 봤는데, 그럼 그건 HTTP/3(QUIC)가 해결하는 거라고 이해하면 맞나요?


실제로 그냥 1.1에서 2로 올리기만 해도 체감될 정도로 빨라지는지도 궁금합니다.