네트워크 애플리케이션 성능은 Latency(지연 시간), Bandwidth(대역폭), 그리고 모바일 기기에서의 전력 소모라는 세 가지 주요 요소로 나눌 수 있다. HTTP/2와 HTTP/3는 기존 HTTP/1.1의 한계를 극복하기 위해 설계되었으며, 각 프로토콜이 이러한 성능 측면에서 어떻게 개선되었는지 살펴보자.
HTTP/2: Multiplexing과 Header 압축을 통한 효율성[1]
- Multiplexing: HTTP/1.1은 하나의 연결에서 하나의 요청-응답만 처리할 수 있는 문제점(Head-of-Line Blocking)을 가지고 있다. HTTP/2는 단일 TCP 연결에서 여러 요청과 응답을 동시에 처리할 수 있도록 개선하여 Latency를 크게 줄였다.
- Header Compression: HTTP/2는 HPACK을 사용하여 헤더를 압축한다. 이는 반복적인 헤더 전송에 소요되는 Bandwidth를 절약하는 데 유리하다.
- Push Promise: 서버에서 클라이언트가 요청하지 않은 리소스를 미리 전송할 수 있는 HTTP/2의 기능으로 페이지 로드 속도를 향상시킨다.
HTTP/3: UDP 기반의 QUIC 프로토콜로 Latency 최적화 [3]
- UDP 기반: HTTP/3는 TCP 대신 QUIC(Quick UDP Internet Connections) 프로토콜을 기반으로 설계되었습니다. QUIC는 연결 설정 속도가 빠르고 패킷 손실에도 연결이 유지되므로 Latency를 최소화한다.
- TLS 통합: QUIC는 TLS 1.3을 통합하여 보안을 강화하면서도 연결 수립 단계를 줄여 초기 Latency를 줄인다.
- 멀티플렉싱 개선: HTTP/2는 단일 TCP 연결에서 발생하는 Head-of-Line Blocking 문제를 해결했지만, TCP 수준에서 여전히 동일한 문제가 발생했다. HTTP/3는 QUIC을 통해 이 문제를 해결하였다.
- 모바일 기기 친화적: 모바일 환경에서 네트워크 변경(예: Wi-Fi에서 LTE로 전환) 시 연결을 유지할 수 있어 전력 소모와 재연결 Latency가 줄어든다.
성능 측면 분석
- Latency
- HTTP/2: TCP의 3-way handshake로 인한 초기 연결 지연이 존재.
- HTTP/3: QUIC의 0-RTT Handshake로 초기 연결 Latency 최소화.
- Bandwidth
- HTTP/2: 데이터 압축 및 멀티플렉싱으로 대역폭 효율 증가.
- HTTP/3: 패킷 재전송 감소와 멀티플렉싱으로 Bandwidth 활용 최적화.
- 전력 소모
- HTTP/2: 다수의 연결 유지 시 전력 소모가 증가 가능.
- HTTP/3: 네트워크 변화 시 연결을 유지하므로 전력 소모 감소.
모바일 환경에서의 성능 최적화
- HTTP/2와 HTTP/3 모두 모바일 친화적인 특성을 가지지만, HTTP/3는 특히 고속 네트워크 변경 및 불안정한 환경에서 강력한 성능을 제공한다.
- QUIC의 효율성 덕분에 스트리밍 및 게임 같은 애플리케이션에서 HTTP/3 채택이 증가하고 있다.
참고자료
[1] IETF RFC 7540, https://datatracker.ietf.org/doc/html/rfc7540
[2] IETF RFC 9000, https://datatracker.ietf.org/doc/html/rfc9000
'Multimedia Networking' 카테고리의 다른 글
High Performance Browser Networking: Ch 09 HTTP의간략한역사 (0) | 2025.05.07 |
---|---|
5G와 모바일 네트워크의 진화 (0) | 2025.04.30 |
High Performance Browser Networking: Ch 08 모바일네트워크최적화 (0) | 2025.04.23 |
High Performance Browser Networking: Ch 07 모바일 네트워크 (0) | 2025.04.16 |
High Performance Browser Networking: Ch 06 와이파이(WiFi) (0) | 2025.04.09 |