HTTP

What Is HTTP?

HTTP, the Hypertext Transfer Protocol, is a stateless application-layer protocol for distributed hypermedia systems in which a client sends a request identifying a resource and a server returns a response containing a representation of that resource or an explanation of why it cannot. It is the protocol on which the World Wide Web operates, and it has since become the default substrate for programmable interfaces, software update distribution, streaming media delivery, and machine-to-machine communication generally. Tim Berners-Lee and collaborators at CERN specified the earliest version in 1991, and the protocol passed to the Internet Engineering Task Force, which has maintained it since HTTP/1.0 was documented in 1996.

The protocol's design descends from hypertext systems and from the request-response conventions of earlier internet protocols such as FTP and Gopher. Its architectural principles were later articulated as Representational State Transfer, which frames HTTP as a uniform interface over named resources rather than as a remote procedure call mechanism.

Request and Response Semantics

The stable core of HTTP is its semantics: the meaning of requests and responses independent of how they are encoded on the wire. RFC 9110, HTTP Semantics, consolidates this layer and defines the vocabulary shared by every protocol version. A request names a target resource by URI and applies a method to it, with GET retrieving a representation, POST submitting data for processing, PUT replacing a representation, and DELETE removing one. Methods carry declared properties: safe methods do not change server state, and idempotent methods produce the same effect whether applied once or several times, which is what makes automatic retry sound. Responses begin with a three-digit status code grouped by class, where the 2xx range signals success, 3xx redirection, 4xx client error, and 5xx server error. Header fields carry metadata for content negotiation, authentication, conditional requests, and range requests, allowing a client to state what media types and encodings it accepts and a server to select among available representations.

Protocol Versions and Message Transport

Semantics remain constant while the wire format has been redesigned several times. HTTP/1.1 encodes messages as text with a start line, header lines, and an optional body, and it introduced persistent connections and chunked transfer encoding. HTTP/2 replaced that encoding with a binary framing layer that multiplexes concurrent streams over a single TCP connection and compresses header fields with HPACK, removing the head-of-line blocking that had forced clients to open many parallel connections. HTTP/3, published as RFC 9114, maps the same semantics onto the QUIC transport over UDP, which provides per-stream flow control, integrated encryption, and connection establishment that can complete in a single round trip. The IETF HTTP Working Group maintains the full document set, including the caching rules in RFC 9111 and the version-specific message formats.

Caching, Security, and Extensibility

Caching is intrinsic to the protocol rather than an add-on. Freshness lifetimes, validators such as entity tags and last-modified timestamps, and directives in the Cache-Control field let intermediaries and browsers reuse stored responses without contacting the origin server, which is the mechanism behind content delivery networks. Because HTTP itself provides no confidentiality, deployments run it over TLS as HTTPS, and HTTP/2 and HTTP/3 are used almost exclusively in that encrypted form. Extensibility is deliberate: new methods, status codes, header fields, and authentication schemes can be registered without changing existing implementations, and unrecognized elements are required to be handled gracefully.

Applications

HTTP has applications across a wide range of systems, including:

  • Web browsing and web application delivery
  • REST and GraphQL application programming interfaces
  • Adaptive bitrate video streaming over HTTP Live Streaming and MPEG-DASH
  • Content delivery networks and reverse proxy caching
  • Software package repositories and update distribution
  • Internet of Things device management and telemetry
  • Cloud service control planes and object storage interfaces
Loading…