Generated by DeepSeek V3.2| HTTP | |
|---|---|
| Name | Hypertext Transfer Protocol |
| Caption | The foundation of data communication for the World Wide Web |
| Developer | Tim Berners-Lee, Internet Engineering Task Force |
| Introduced | 0 1991 |
| Osi layer | Application layer |
| Ports | 80, 443 |
| Rfcs | RFC 1945, RFC 2616, RFC 7540, RFC 9110 |
HTTP. The Hypertext Transfer Protocol is an application-layer protocol fundamental to data communication across the World Wide Web. Developed initially by Tim Berners-Lee at CERN, it functions as a request-response protocol in the client-server computing model, enabling the transfer of hypertext documents and other resources. Its design is stateless, meaning each request from a client to a server is treated independently, though mechanisms like cookies allow for stateful sessions.
HTTP operates as the primary conduit for fetching interconnected resources, such as HTML documents, which are the building blocks of web pages. A client, typically a web browser like Google Chrome or Mozilla Firefox, initiates an HTTP request to a server identified by a Uniform Resource Locator. The server, which hosts resources like those from Apache HTTP Server or Microsoft IIS, then sends back a response containing the requested content or an error message. This exchange forms the basis for navigating the interconnected information space envisioned by Tim Berners-Lee, facilitating access to sites from Wikipedia to the New York Times.
The protocol's technical details are formally defined and maintained through Request for Comments documents published by the Internet Engineering Task Force and the World Wide Web Consortium. An HTTP message is composed of a start-line, headers, an empty line, and an optional message body; the headers convey metadata such as the User-Agent string or Content-Type. Communication traditionally occurs over Transmission Control Protocol connections on Port 80, with encrypted sessions using Transport Layer Security on Port 443. Key concepts include persistent connections for efficiency and the use of Uniform Resource Identifiers to identify resources.
HTTP defines a set of request methods, or verbs, that indicate the desired action to be performed on a resource. The GET method requests a representation of a specified resource and should only retrieve data, while POST submits an entity to the specified resource, often causing a change in state. Other important methods include PUT for replacing a resource, DELETE for removing it, and HEAD, which is similar to GET but transfers only the status line and header section. The PATCH method applies partial modifications, and the OPTIONS method describes the communication options for the target resource.
The server responds with a three-digit HTTP status code indicating the result of the request. Codes in the 2xx range signify success, with 200 OK being the standard response for successful GET or POST requests. The 3xx class indicates redirection, such as 301 Moved Permanently or 302 Found. Client errors are in the 4xx range, including the well-known 404 Not Found and 403 Forbidden codes. Server errors are in the 5xx range, exemplified by 500 Internal Server Error and 503 Service Unavailable. These codes are a critical part of web infrastructure, used by systems from Google Search to Cloudflare.
Standard HTTP communications are not encrypted, making them susceptible to eavesdropping and man-in-the-middle attacks. To address this, HTTPS was developed, which layers HTTP on top of the Transport Layer Security protocol, providing encryption and authentication. The push for ubiquitous encryption has been championed by organizations like the Electronic Frontier Foundation and is now enforced by major browsers such as Google Chrome and Apple Safari. Security headers like Strict-Transport-Security instruct browsers to only use HTTPS, and mechanisms like Content Security Policy help mitigate risks from cross-site scripting.
The first documented version, HTTP/0.9, was a simple protocol for raw data transfer. HTTP/1.0, formalized in RFC 1945, introduced headers and status codes. HTTP/1.1, defined in RFC 2616, became the long-standing standard, adding features like persistent connections and chunked transfer encoding. A major revision, HTTP/2, standardized in RFC 7540, introduced binary framing and multiplexing to improve performance, largely based on Google's SPDY protocol. The most recent version, HTTP/3, uses QUIC transport protocol over User Datagram Protocol instead of Transmission Control Protocol, further reducing latency. These evolutions are stewarded by the Internet Engineering Task Force and the World Wide Web Consortium.
Category:Internet protocols Category:World Wide Web Category:Application layer protocols