HTTP
The Hypertext Transfer Protocol (HTTP) is the application-layer protocol that underlies the World Wide Web. Clients send method-based requests (GET, POST, PUT, DELETE, HEAD, etc.) over TCP or QUIC, and servers reply with a status code, headers, and an optional body. HTTP/1.1 remains widely deployed, with HTTP/2 multiplexing and HTTP/3 over QUIC layering performance improvements on the same semantic model.
HTTP (Hypertext Transfer Protocol) is the application-layer protocol that powers the World Wide Web. It was originally proposed by Tim Berners-Lee at CERN in 1989, standardized as HTTP/1.0 in RFC 1945 (1996) and HTTP/1.1 in RFC 2068 (1997), and refactored across RFCs 7230-7235 and again into RFCs 9110-9112 in 2022. RFC 9110 now defines the semantics — methods, status codes, headers — independently of the wire format. Each HTTP request specifies a method, a target URI, and headers. Common methods are GET (safe retrieval), POST (submit data), PUT (idempotent update), DELETE, HEAD (headers only), and OPTIONS (capability probe). The server responds with a three-digit status code grouped into 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client error), and 5xx (server error). Headers carry metadata such as Content-Type, Authorization, and Cache-Control. HTTP has evolved across three major wire protocols. HTTP/1.1 uses plain TCP with persistent connections and pipelining; it dominated the 2000s but suffered from head-of-line blocking. HTTP/2, published in RFC 7540 in 2015 and revised in RFC 9113, binary-framed the protocol and added multiplexed streams over a single TCP connection, header compression via HPACK, and server push. HTTP/3, finalized in RFC 9114 in 2022, replaces TCP with QUIC over UDP, eliminating transport-level head-of-line blocking and integrating TLS 1.3 into the handshake. Almost every web technology rests on HTTP: the browser fetches HTML and assets via HTTP, REST APIs are HTTP request/response pairs with JSON bodies, WebSockets begin with an HTTP upgrade handshake, and HTTP Caching reuses prior responses across a hierarchy of caches. HTTPS is HTTP carried over TLS, providing confidentiality, integrity, and server authentication.