← 질문 목록
#347깊이 0
HTTP/3은 HTTP/2와 비교하여 어떤 점이 개선되었는가?
네트워크
HTTP/3은 전송 계층을 TCP에서 QUIC으로 바꿨다. 패킷 손실 시 발생하는 Head-of-Line Blocking을 근본적으로 해결했다.
| 시점 | HTTP/2 | HTTP/3 |
|---|---|---|
| 전송 기반 | TCP + TLS | QUIC (UDP) |
| 패킷 손실 | 전체 스트림 대기 | 해당 스트림만 영향을 받음 |
| 연결 수립 | 2~3 RTT 소요 | 0~1 RTT 소요 |
| 식별 자원 | IP와 포트 번호 | Connection ID |
HTTP/2는 단일 TCP 연결에서 여러 스트림을 전송한다. 그래서 패킷 하나만 떨어져도 전체 스트림이 지연된다. HTTP/3은 UDP 기반인 QUIC을 쓴다. 각 스트림이 독립적으로 작동해 패킷 손실이 다른 스트림에 영향을 주지 않는다.
QUIC은 전송 계층 접속과 TLS 키 교환을 한 번에 진행한다. 첫 연결은 1 RTT, 재연결은 0 RTT로 데이터 전송을 시작한다.
IP 주소가 바뀌어도 연결이 끊어지지 않는다. QUIC은 IP와 포트 대신 Connection ID로 식별한다. Wi-Fi에서 LTE로 네트워크가 바뀌어도 재연결 없이 통신을 이어간다.