HTTP/3
HTTP/3은 월드 와이드 웹(WWW)에서 사용되는 애플리케이션 계층 프로토콜인 HTTP(Hypertext Transfer Protocol)의 세 번째 주요 사양이다. IETF(Internet Engineering Task Force)에서 표준화했으며, 2022년 6월에 RFC 9114로 정식 발행하였다.
개요
- 프로토콜 스택: HTTP/3은 전송 계층으로 TCP 대신 UDP 위에 구현된 QUIC(Quick UDP Internet Connections) 프로토콜을 사용한다.
- 핵심 목표: 연결 설정 지연 감소, 헤더 및 데이터 전송 시의 멀티플렉싱 효율 향상, 패킷 손실에 대한 복구를 빠르게 수행함으로써 웹 페이지 로드 시간을 단축한다.
기술적 특징
| 특징 |
설명 |
| 전송 계층 |
QUIC(UDP 기반) 사용. QUIC은 TLS 1.3을 통합하여 초기 핸드쉐이크를 1‑RTT(한 라운드 트립)로 축소한다. |
| 멀티플렉싱 |
하나의 QUIC 연결 내에서 다수의 스트림을 독립적으로 전송할 수 있어, HTTP/2에서 발생할 수 있는 헤드‑오브‑라인(Head‑of‑line) 차단 현상을 방지한다. |
| 패킷 재전송 |
손실된 패킷만 선택적으로 재전송하는 방식으로, 전체 연결 재전송이 필요하지 않다. |
| 헤더 압축 |
HTTP/2와 동일하게 HPACK 대신 QPACK을 사용한다. QPACK은 스트림 별 독립적인 헤더 압축을 지원한다. |
| 보안 |
QUIC에 내장된 TLS 1.3 적용으로 전송 데이터는 기본적으로 암호화된다. |
표준화 및 문서
- RFC 9114 – “HTTP/3” (2022) – HTTP/3 사양 자체.
- RFC 9000 – “QUIC: A UDP-Based Multiplexed and Secure Transport” (2021) – QUIC 프로토콜 정의.
- RFC 8446 – “TLS 1.3” (2018) – QUIC에 통합된 암호화 계층.
배포 현황
- 주요 브라우저(Chrome, Edge, Firefox, Safari)는 2020년대 초부터 HTTP/3을 기본 또는 옵션 기능으로 지원한다.
- 주요 CDN(콘텐츠 전송 네트워크) 및 클라우드 서비스(AWS CloudFront, Google Cloud CDN, Cloudflare 등)에서도 HTTP/3 엔드포인트를 제공한다.
- 일부 서버 소프트웨어(Nginx, Apache, Caddy 등)는 모듈 형태로 HTTP/3 지원을 추가하고 있다.
이전 버전과의 차이
| 항목 |
HTTP/1.1 |
HTTP/2 |
HTTP/3 |
| 전송 계층 |
TCP |
TCP |
UDP + QUIC |
| 헤더 압축 |
없음 |
HPACK |
QPACK |
| 멀티플렉싱 |
다중 연결 필요 |
단일 연결 다중 스트림 |
단일 QUIC 연결 다중 스트림 |
| 헤드‑오브‑라인 차단 |
존재 |
개선 |
없음 |
| 초기 핸드쉐이크 |
2‑RTT (TCP) + TLS 1.2/1.3 |
1‑RTT (TLS 1.2) |
0‑RTT/1‑RTT (TLS 1.3 통합) |
참고 사항
- HTTP/3은 아직도 활발히 개발·테스트되고 있으며, 일부 네트워크 환경(예: 방화벽 또는 오래된 라우터)에서는 UDP/QUIC 트래픽이 차단될 수 있다.
- 표준 사양은 IETF에서 지속적으로 업데이트되고 있어, 최신 RFC 문서를 확인하는 것이 권장된다.