11. HTTP/1.1 vs HTTP/2 vs HTTP/3
HTTP/1.1과 HTTP/2는 이 서버에서 실제로 구동합니다. HTTP/3(QUIC)는 Node.js가
네이티브로 지원하지 않아 이 서버에는 없습니다 — 대신 아래 개념 설명과 외부 사이트로 직접
확인하는 가이드를 참고하세요.
1) HTTP/1.1 vs HTTP/2 직접 비교
동일한 페이지(이미지 30장)를 두 프로토콜로 열어서 DevTools Network의 Protocol 컬럼과 전체 로딩 시간을 비교해 보세요.
HTTP/2는 자가서명 인증서를 사용합니다 — 처음 접속 시 "안전하지 않음" 경고가 뜨면 "고급(Advanced) → 계속 진행"을 눌러주세요.
2) HTTP 발전 타임라인
| HTTP/0.9 | HTTP/1.0 | HTTP/1.1 | SPDY | QUIC | HTTP/2 | HTTP/3 |
|---|---|---|---|---|---|---|
| 1991 | 1995 | 1997 | 2012 | 2013 | 2015 | 2019 |
3) Head-of-Line Blocking (HOLB) 비교
| 프로토콜 | HTTP 레벨 HOLB | 전송 레벨 HOLB |
|---|---|---|
| HTTP/1.1 | ❌ 있음 (커넥션당 순차 처리, 파이프라이닝도 제한적) | 해당 없음 |
| HTTP/2 | ✅ 해결 (멀티플렉싱으로 여러 스트림 동시 처리) | ❌ 남아있음 (TCP 패킷 하나 손실 시 전체 스트림 대기) |
| HTTP/3 | ✅ 해결 | ✅ 해결 (QUIC은 스트림별로 독립적인 순서 보장) |
4) 연결 설정 비용 (0-RTT)
| TCP | TCP + TLS | QUIC (HTTP/3) | |
|---|---|---|---|
| 재연결 | ~1 RTT | ~2 RTT | 0 RTT |
| 최초 연결 | ~1 RTT | ~3 RTT | ~1 RTT (전송+암호화 핸드셰이크 통합) |
5) 실제 HTTP/3 사이트 확인하기
Chrome DevTools → Network 탭 → 컬럼 헤더 우클릭 → Protocol 컬럼 추가 →
google.com, cloudflare.com 같은 실제 서비스에 접속해 보세요.
h3로 표시되는 요청을 확인할 수 있습니다.