network
HTTP/2 vs HTTP/3.
HTTP 버전별 multiplexing, QUIC, Head-of-Line blocking 차이
- HTTP/1.1: connection당 순차, domain sharding으로 우회
- HTTP/2: 한 connection multiplexing, header compression (HPACK)
- HTTP/3: HTTP/2 semantics + QUIC(UDP) transport
🧱 HTTP/1.1 한계
- Head-of-Line blocking (connection level): 큰 JS 하나가 뒤 요청 지연
- 브라우저당 domain당 6 connection 제한 → asset domain 분산
🌐 HTTP/2
- Binary framing, stream multiplexing
- Server Push (실무에선 거의 deprecated)
- TLS practically required
- TCP level HoL: 패킷 loss 시 모든 stream 영향
🌐 HTTP/3 (QUIC)
- UDP 기반, connection migration (WiFi ↔ LTE)
- stream별 독립 loss recovery → HoL 완화
- 0-RTT handshake (replay attack 주의)
- CDN, major browser 대부분 지원
💻 프론트엔드 영향
- HTTP/2+ 에서 asset concat 이득 감소 → 적절한 code splitting이 더 중요
- Critical resource preload/hints 여전히 유효
- CDN/호스팅 HTTP/3 지원 여부 확인 (Vercel, Cloudflare 등)
🔗 참고 자료
- MDN: HTTP/2 — HTTP/2 개념을 요약한다.
- MDN: HTTP/3 — HTTP/3와 QUIC을 요약한다.
- RFC 9113: HTTP/2 — HTTP/2 바이너리 프레이밍 명세다.
- RFC 9114: HTTP/3 — QUIC 위 HTTP/3 명세다.
