기존 HTTP는 TCP 프로토콜을 기반으로 만들었고고 HTTP/3은 UDP 프로토콜 기반으로 만들었습니다. HTTP/3의 원래 이름은 HTTP over QUIC으로 QUIC라는 프로토콜에서 돌아가는 HTTP입니다. QUIC 프로토콜이 UDP 프로토콜 기반으로 만들어졌습니다.
UDP를 사용하기 때문에 TCP에 비해 신뢰성을 제공하지 않는 대신에 빠른 속도를 제공합니다. TCP의 경우 통신 시작할 때 3-Way Handshake, 끝낼 때 4-Way Handshake를 거치게되는데 모바일 환경에서 네트워크가 변경될 때마다 Handshake를 진행해야 합니다.
QUIC는 Connection UID라는 고유 번호를 부여합니다. 이를 이용해서 네트워크 환경이 바뀌어도 Handshake 과정을 수행하지 않고 바로 통신을 이어서 할 수 있습니다.
TCP 헤더에는 많은 정보가 들어있어 기본 기능을 제공하는 대신에 커스텀이 어렵지만 UDP 헤더에는 담긴 정보가 없기 때문에 개발자가 맘대로 커스텀할 수 있습니다.
QUIC는 2021년에 RFC 9000으로 표준화되었고, HTTP/3는 2022년에 RFC 9144로 표준화되었습니다.