이것저것 개발기록

"웹이 왜 이렇게 빨라졌지?" HTTP/1.1과 HTTP/2의 결정적 차이 본문

IT 이야기

"웹이 왜 이렇게 빨라졌지?" HTTP/1.1과 HTTP/2의 결정적 차이

Garam Kim 2026. 1. 6. 12:00

"이미지가 100개인 페이지, 예전보다 왜 훨씬 빨리 뜰까요?"
웹의 속도 한계를 극복하기 위해 등장한 HTTP/2. 기존 1.1 버전의 고질적인 문제들을 어떻게 해결했는지 정리했습니다.

1. HTTP/1.1의 한계: HOL Blocking

HTTP/1.1은 기본적으로 한 번에 하나의 요청만 처리할 수 있었습니다. 만약 크기가 큰 이미지를 받는 요청이 앞서 있다면, 뒤에 있는 작은 텍스트 데이터들은 앞의 요청이 끝날 때까지 기다려야 했죠. 이를 HOL(Head-of-Line) Blocking이라고 부릅니다. 이를 해결하기 위해 스프라이트 이미지(이미지 합치기) 같은 편법을 써야 했습니다.

2. HTTP/2가 가져온 혁신

  • Multiplexing (멀티플렉싱): 하나의 커넥션으로 여러 개의 메시지를 동시에 주고받을 수 있습니다. 이제 응답 순서를 기다릴 필요가 없습니다.
  • Header Compression (헤더 압축): 중복된 헤더 정보를 압축해서 전송량을 줄였습니다.
  • Server Push: 클라이언트가 요청하지 않아도 서버가 필요할 것 같은 자원(CSS, JS 등)을 미리 보내줄 수 있습니다.

💡 실무 노트

HTTP/2가 대중화되면서 과거의 성능 최적화 기법들이 오히려 독이 되기도 합니다. 예를 들어, 여러 개의 JS 파일을 하나로 합치는 '번들링'은 HTTP/1.1에서는 필수였지만, HTTP/2에서는 파일을 작게 나누어 보내는 것이 캐싱 효율 측면에서 더 유리할 때가 많습니다.

팁: HTTP/2를 적용하려면 반드시 HTTPS(SSL/TLS)가 적용되어 있어야 합니다. 브라우저들이 보안상의 이유로 HTTPS 환경에서만 HTTP/2를 지원하기 때문이죠. 내 서비스의 속도를 높이고 싶다면 HTTPS 적용과 함께 서버 설정에서 HTTP/2가 활성화되어 있는지 꼭 확인해 보세요.

"기술의 발전은 과거의 정답을 오늘의 오답으로 만들기도 합니다. 원리를 아는 것이 중요한 이유입니다."