피드로 돌아가기
InfoQInfoQ
Backend

Mozilla의 Max Inden이 WebTransport 프로토콜을 소개하며 WebSocket의 Head-of-Line Blocking 문제를 QUIC 기반 설계로 해결

FOSDEM 2026: Intro to WebTransport - the Next WebSocket?!

Bruno Couriol2026년 3월 29일4intermediate

Context

WebSocket은 2011년 신뢰성 있는 양방향 통신을 제공했으나, TCP 기반 설계로 인해 패킷 손실 시 전체 스트림이 대기하는 Head-of-Line Blocking 문제가 발생한다. 실시간 금융 데이터 스트리밍, 클라우드 게이밍, 라이브 스트리밍 등 현대적 사용 사례에서는 안정성보다 낮은 지연시간이 중요하다. WebSocket 연결 수립에는 TCP 핸드셰이크, TLS 핸드셰이크, HTTP 업그레이드 등 여러 왕복이 필요해 초기 지연이 크다.

Technical Solution

  • TCP 대신 QUIC(UDP 기반) 프로토콜 도입: 신뢰성 있는 바이트 스트림과 신뢰성 없는 데이터그램을 동시에 지원
  • 다중 스트림 아키텍처 제공: 독립적인 단방향/양방향 스트림을 임의로 생성하여 한 스트림의 패킷 손실이 다른 스트림에 영향을 주지 않도록 설계
  • 연결 마이그레이션 기능 구현: IP 주소 변경 시 새로운 네트워크 경로를 검증하여 세션 유지
  • 핸드셰이크 병합으로 연결 수립 단축: 트랜스포트 핸드셰이크와 암호화 핸드셰이크를 결합하여 1 RTT로 연결 완료
  • 반환 사용자를 위한 0-RTT 지원: 사전 검증된 사용자는 즉시 데이터 전송 가능

Key Takeaway

WebTransport는 WebSocket의 직접적 확장이 아닌 API 수준의 근본적으로 다른 설계로, 신뢰성 필요 여부에 따라 개별 스트림마다 전송 특성을 선택할 수 있는 아키텍처가 실시간 애플리케이션의 성능을 결정하는 핵심이다. HTTPS 필수 요구사항은 로컬 개발 환경과 사설 네트워크 사용 사례에서의 도입을 제한하는 트레이드오프다.


클라우드 게이밍, 실시간 협업 편집, 고빈도 데이터 스트리밍이 필요한 서비스 개발 시 WebTransport를 도입하면 패킷 손실로 인한 지연을 제거하고 Wi-Fi와 모바일 네트워크 전환 시에도 세션을 유지하여 사용자 경험을 개선할 수 있다. 단, 메시지 기반의 가볍고 신뢰성 있는 양방향 통신만 필요한 경우는 WebSocket으로 충분하므로 사용 사례에 맞게 선택해야 한다.

원문 읽기