RFC 9114
Overview
▶HTTP/3 is the third major version of HTTP, designed to address head-of-line (HOL) blocking that TCP-based HTTP/2 suffers from. By running over QUIC instead of TCP, each HTTP stream is independently flow-controlled, so packet loss on one stream does not block other streams.
While 3GPP currently mandates HTTP/2 for SBI (TS 29.500), HTTP/3 is being evaluated as a future SBI transport for improved latency and reliability in 5G core network intra-NF communication.
HTTP/2 vs HTTP/3
▶| Feature | HTTP/2 | HTTP/3 |
|---|---|---|
| Transport | TCP + TLS 1.3 | QUIC (UDP + TLS 1.3 integrated) |
| HOL Blocking | Yes (TCP layer) | No (per-stream independence) |
| Connection Setup | TCP 3WHS + TLS handshake | 0-RTT or 1-RTT (combined) |
| Header Compression | HPACK | QPACK |
| Multiplexing | Streams (shared TCP) | Streams (independent QUIC) |
| Connection Migration | No | Yes (Connection ID based) |
| Loss Recovery | TCP retransmission | Per-stream QUIC recovery |
QUIC Transport Foundation
▶HTTP/3 runs exclusively over QUIC (RFC 9000). QUIC provides built-in encryption (TLS 1.3), reliable delivery per-stream, connection migration, and flow control at both stream and connection levels.
┌───────────────────────┐ │ HTTP/3 │ Application ├───────────────────────┤ │ QPACK │ Header Compression ├───────────────────────┤ │ QUIC │ Transport │ (streams, reliability│ │ flow control, CC) │ ├───────────────────────┤ │ TLS 1.3 (built-in) │ Security ├───────────────────────┤ │ UDP │ Network └───────────────────────┘
Stream Mapping
▶HTTP/3 maps request-response pairs to individual QUIC streams. Each stream is independent — loss affecting one request does not delay others.
- Client-initiated bidirectional streams: One per HTTP request-response exchange
- Server-initiated bidirectional streams: Server push (rarely used)
- Unidirectional streams: Control stream, QPACK encoder/decoder streams
- Connection-level: SETTINGS, GOAWAY frames on the control stream
QPACK Header Compression
▶QPACK replaces HPACK from HTTP/2 to avoid HOL blocking in header compression. HPACK uses a single dynamic table that creates ordering dependencies; QPACK decouples encoding from delivery order using a separate encoder stream and acknowledgment mechanism.
Connection Migration
▶QUIC's Connection ID mechanism allows HTTP/3 connections to survive IP address changes (e.g., Wi-Fi to cellular). This is particularly relevant for 3GPP scenarios where UEs may change access networks while maintaining SBI-facing connections through intermediary proxies.
3GPP Relevance
▶- Future SBI transport: 3GPP SA2/CT4 studying HTTP/3 as SBI transport in Rel-18+ for improved NF-to-NF latency
- HOL blocking elimination: Multiple concurrent service operations (Nausf, Namf, Nsmf) won't block each other on packet loss
- 0-RTT connection setup: Reduced latency for NF-to-NF first-request across core network
- Connection migration: Useful for mobile edge computing scenarios where UPF connections may shift
- NEF/AF exposure: Third-party API exposure could benefit from HTTP/3 for mobile clients