HTTP/3은 HTTP 프로토콜의 세 번째 주요 버전입니다. HTTP/1.1 및 HTTP/2와 동일한 의미 체계(메서드, 상태 코드, 헤더)를 유지하므로 기존 애플리케이션은 동일하게 동작하지만, 전송 계층이 변경됩니다. TCP 위에서 실행되는 대신, HTTP/3은 UDP 위에 구축된 최신 전송 계층인 QUIC 위에서 실행됩니다.
HTTP/2는 애플리케이션 계층에서 요청 멀티플렉싱 문제를 해결했지만, 모든 스트림이 여전히 단일 TCP 연결을 공유합니다. TCP 패킷이 손실되면 모든 스트림이 재전송을 기다려야 합니다(전송 수준 head-of-line 블로킹). QUIC은 스트림 멀티플렉싱을 전송 계층으로 내려, 손실된 패킷이 해당 스트림만 지연시키고 다른 스트림은 계속 흐를 수 있게 합니다.
HTTP/3는 RFC 9114에, QUIC는 RFC 9000에, QPACK는 RFC 9204에 정의되어 있습니다.
HTTP/3는 엔터프라이즈 에디션에서 사용 가능하며, SGC_HTTP3 정의가 필요하고 기본적으로 OpenSSL 3.5 이상에서 제공하는 네이티브 QUIC 지원을 사용합니다. WebTransport는 추가로 내장 OpenSSL QUIC 엔진을 필요로 합니다. TLS IOHandler를 iohNativeTLS로 설정하면 HTTP/3는 sgc QUIC 엔진에서 OpenSSL 없이 동작합니다(OpenSSL 없이 실행하기 참조).