HTTP와 HTTP/2의 차이점은 무엇인가요?
멀티플렉싱·헤더 압축·서버 푸시 등 HTTP/2가 HTTP/1.1의 한계를 어떻게 개선했는지 정리합니다.
HTTP/2 는 HTTP/1.1의 성능 한계를 개선한 버전입니다. 의미(메서드·상태 코드·헤더)는 유지하면서 전송 방식을 크게 바꿨습니다.
HTTP/1.1의 한계
- HOL 블로킹(Head-of-Line) — 한 연결에서 요청을 순서대로 처리해, 앞 요청이 느리면 뒤가 막힙니다.
- 이를 피하려 브라우저가 연결을 여러 개 열어야 했습니다(보통 도메인당 6개).
- 헤더가 매 요청 반복 전송되어 낭비가 큽니다.
HTTP/2의 개선
- 멀티플렉싱(Multiplexing) — 하나의 연결에서 여러 요청·응답을 동시에 주고받습니다. 응답 순서에 묶이지 않습니다.
- 바이너리 프레이밍 — 텍스트가 아닌 바이너리 프레임으로 나눠 효율적으로 전송합니다.
- 헤더 압축(HPACK) — 중복 헤더를 압축해 오버헤드를 줄입니다.
- 스트림 우선순위 — 중요한 자원을 먼저 받도록 우선순위를 둘 수 있습니다.
- 서버 푸시 — 요청 전에 서버가 자원을 미리 보낼 수 있습니다(현재는 활용이 줄고 있음).
비교
| 항목 | HTTP/1.1 | HTTP/2 |
|---|---|---|
| 연결당 요청 | 순차(HOL 블로킹) | 멀티플렉싱(동시) |
| 전송 형식 | 텍스트 | 바이너리 프레임 |
| 헤더 | 매번 전체 전송 | HPACK 압축 |
| 연결 수 | 여러 개 필요 | 하나로 충분 |
참고: HTTP/3
HTTP/2는 여전히 TCP 위에서 동작해, TCP 레벨의 HOL 블로킹은 남습니다. HTTP/3 는 QUIC(UDP 기반) 를 사용해 이 문제까지 개선했습니다.
핵심은 “HTTP/2는 한 연결에서 멀티플렉싱 + 헤더 압축으로 HTTP/1.1의 병목을 해소했다”는 점입니다.
HTTP/2가 HTTP/1.1 대비 개선한 핵심은?
이 레슨을 다 읽으셨나요?
완료 표시는 이 브라우저에 저장됩니다.