Description
The Hypertext Transfer Protocol (HTTP) is a stateless application-layer protocol within the Internet protocol suite, defined by the IETF (RFC 9110 et seq.) and ubiquitously referenced in 3GPP specifications. It operates on a client-server model, where a client (typically a web browser on User Equipment) sends requests to a server, which then returns responses. In a 3GPP network, HTTP messages are carried as payload within IP packets. These IP packets are transported over the network's data bearers, which are established and managed by the core network's Packet Data Network (PDN) connectivity procedures—using protocols like GTP between the gateway (PGW/UPF) and the radio access network.
HTTP works through a series of request methods (GET, POST, PUT, DELETE, etc.) and status codes (200 OK, 404 Not Found). A GET request for a web page initiates a TCP connection (or uses an existing one via HTTP/1.1 persistent connections or HTTP/2 streams), which is transported over the mobile network's IP layer. The server's response contains headers with metadata and the message body, often an HTML document. The protocol itself is unaware of the underlying mobile network intricacies; however, the network implements various functions around HTTP traffic. These include Policy and Charging Control (PCC) to apply rules based on traffic detection, Deep Packet Inspection (DPI) for service awareness, and Traffic Flow Templates (TFTs) for bearer binding.
3GPP specifications reference HTTP in numerous contexts: as the transport for configuration protocols like OMA DM for device management, for service capability exposure (SCEF/NEF), in the Ut interface for provisioning, and as the protocol for numerous northbound APIs (e.g., Nnrf, Nudm in 5GC) which are based on HTTP/2. The shift to a Service-Based Architecture (SBA) in the 5G Core Network explicitly uses HTTP/2 with JSON payloads for communication between network functions (NFs). Furthermore, HTTP is central to content delivery optimization techniques discussed in 3GPP, such as transparent caching and video streaming adaptation (DASH), which aim to improve efficiency and user experience over the radio interface.
Purpose & Motivation
HTTP is integral to 3GPP standards because mobile networks are designed to provide IP connectivity, and the web (via HTTP) constitutes a massive portion of IP traffic. The protocol's purpose within 3GPP is twofold: first, as the carrier of end-user application data (web browsing, video streaming, app updates), and second, as a protocol for network internal and management interfaces. Its inclusion ensures the network architecture can efficiently handle request/response traffic patterns, manage sessions, apply appropriate quality of service, and charge for data usage.
The historical context is the convergence of telecommunications and the internet. Early mobile data services used specialized protocols. The adoption of HTTP signaled a shift towards an all-IP network that seamlessly integrates with the internet. This addressed limitations of previous circuit-switched data and proprietary protocols, which were inefficient for bursty web traffic. Standardizing around HTTP allowed for a vast ecosystem of internet applications to work on mobile devices without modification. In later releases, using HTTP/2 for 5G core interfaces solved problems of signaling efficiency and flexibility compared to earlier binary telecom protocols (like Diameter), enabling a more agile, cloud-native network architecture.
Key Features
- Client-server request/response model with defined methods (GET, POST)
- Stateless protocol, with state managed via cookies or sessions at the application layer
- Uses TCP for reliable transport, with HTTP/3 introducing QUIC over UDP
- Supports content negotiation, caching directives, and persistent connections
- Foundation for RESTful APIs and the 5G Service-Based Architecture (SBA)
- Extensible via headers and can carry any type of digital content as payload
Evolution Across Releases
Initially referenced as a key application protocol to be supported over the new UMTS packet-switched domain. Specifications began to define requirements for transporting HTTP traffic, including aspects related to QoS bearers for interactive/web traffic and early considerations for service awareness in the network.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 22.112 | 3GPP TS 22.112 |
| TS 22.242 | 3GPP TS 22.242 |
| TS 23.057 | 3GPP TS 23.057 |
| TS 23.125 | 3GPP TS 23.125 |
| TS 23.140 | 3GPP TS 23.140 |
| TS 23.141 | 3GPP TS 23.141 |
| TS 23.179 | 3GPP TS 23.179 |
| TS 23.207 | 3GPP TS 23.207 |
| TS 23.280 | 3GPP TS 23.280 |
| TS 23.281 | 3GPP TS 23.281 |
| TS 23.379 | 3GPP TS 23.379 |
| TS 23.722 | 3GPP TS 23.722 |
| TS 23.802 | 3GPP TS 23.802 |
| TS 24.109 | 3GPP TS 24.109 |
| TS 24.141 | 3GPP TS 24.141 |
| TS 24.147 | 3GPP TS 24.147 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 24.259 | 3GPP TS 24.259 |
| TS 24.322 | 3GPP TS 24.322 |
| TS 24.423 | 3GPP TS 24.423 |
| TS 24.481 | 3GPP TS 24.481 |
| TS 24.482 | 3GPP TS 24.482 |
| TS 24.484 | 3GPP TS 24.484 |
| TS 24.549 | 3GPP TS 24.549 |
| TS 24.623 | 3GPP TS 24.623 |
| TS 24.819 | 3GPP TS 24.819 |
| TS 24.841 | 3GPP TS 24.841 |
| TS 24.930 | 3GPP TS 24.930 |
| TS 26.117 | 3GPP TS 26.117 |
| TS 26.118 | 3GPP TS 26.118 |
| TS 26.142 | 3GPP TS 26.142 |
| TS 26.234 | 3GPP TS 26.234 |
| TS 26.244 | 3GPP TS 26.244 |
| TS 26.247 | 3GPP TS 26.247 |
| TS 26.501 | 3GPP TS 26.501 |
| TS 26.517 | 3GPP TS 26.517 |
| TS 26.802 | 3GPP TS 26.802 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.849 | 3GPP TS 26.849 |
| TS 26.851 | 3GPP TS 26.851 |
| TS 26.857 | 3GPP TS 26.857 |
| TS 26.905 | 3GPP TS 26.905 |
| TS 26.926 | 3GPP TS 26.926 |
| TS 26.927 | 3GPP TS 26.927 |
| TS 26.928 | 3GPP TS 26.928 |
| TS 26.937 | 3GPP TS 26.937 |
| TS 26.938 | 3GPP TS 26.938 |
| TS 26.953 | 3GPP TS 26.953 |
| TS 26.955 | 3GPP TS 26.955 |
| TS 26.956 | 3GPP TS 26.956 |
| TS 26.998 | 3GPP TS 26.998 |
| TS 29.116 | 3GPP TS 29.116 |
| TS 29.201 | 3GPP TS 29.201 |
| TS 29.433 | 3GPP TS 29.433 |
| TS 29.500 | 3GPP TS 29.500 |
| TS 29.508 | 3GPP TS 29.508 |
| TS 29.512 | 3GPP TS 29.512 |
| TS 29.520 | 3GPP TS 29.520 |
| TS 29.521 | 3GPP TS 29.521 |
| TS 29.523 | 3GPP TS 29.523 |
| TS 29.524 | 3GPP TS 29.524 |
| TS 29.525 | 3GPP TS 29.525 |
| TS 29.817 | 3GPP TS 29.817 |
| TS 29.890 | 3GPP TS 29.890 |
| TS 29.891 | 3GPP TS 29.891 |
| TS 31.112 | 3GPP TR 31.112 |
| TS 32.102 | 3GPP TR 32.102 |
| TS 32.158 | 3GPP TR 32.158 |
| TS 32.296 | 3GPP TR 32.296 |
| TS 32.316 | 3GPP TR 32.316 |
| TS 32.317 | 3GPP TR 32.317 |
| TS 32.583 | 3GPP TR 32.583 |
| TS 32.593 | 3GPP TR 32.593 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.821 | 3GPP TR 32.821 |
| TS 32.824 | 3GPP TR 32.824 |
| TS 32.866 | 3GPP TR 32.866 |
| TS 33.141 | 3GPP TR 33.141 |
| TS 33.222 | 3GPP TR 33.222 |
| TS 33.823 | 3GPP TR 33.823 |
| TS 33.835 | 3GPP TR 33.835 |
| TS 37.901 | 3GPP TR 37.901 |
| TS 37.976 | 3GPP TR 37.976 |
| TS 37.977 | 3GPP TR 37.977 |
| TS 43.802 | 3GPP TR 43.802 |
| TS 43.901 | 3GPP TR 43.901 |