HTTP
The foundational protocol of the World Wide Web that enables the transfer of hypertext documents and data between clients and servers.
Also known as: Hypertext Transfer Protocol
Category: Software Development
Tags: software-engineering, distributed-systems, api-design
Explanation
HTTP (Hypertext Transfer Protocol) is an application-layer protocol designed for transmitting hypermedia documents, such as HTML pages, across the internet. It forms the foundation of data communication on the World Wide Web, defining how messages are formatted and transmitted, and how web servers and browsers should respond to various commands.
HTTP operates on a request-response model. A client (typically a web browser) sends an HTTP request to a server, which then returns a response. Common HTTP methods include GET (retrieve data), POST (submit data), PUT (update data), DELETE (remove data), PATCH (partial update), HEAD (retrieve headers only), and OPTIONS (describe communication options).
HTTP responses include status codes that indicate the outcome of a request. These are grouped into categories: 1xx (informational), 2xx (success, such as 200 OK), 3xx (redirection, such as 301 Moved Permanently), 4xx (client errors, such as 404 Not Found), and 5xx (server errors, such as 500 Internal Server Error).
HTTPS (HTTP Secure) is the encrypted version of HTTP, using TLS/SSL to provide secure communication over a network. HTTPS protects against eavesdropping and man-in-the-middle attacks, and has become the standard for web communication, especially for sensitive data transmission.
HTTP has evolved through several versions: HTTP/1.0, HTTP/1.1 (which introduced persistent connections and chunked transfer encoding), HTTP/2 (which added multiplexing and header compression), and HTTP/3 (which uses QUIC instead of TCP for improved performance).
Related Concepts
← Back to all concepts