HTTP is a client-server protocol where user-agents send requests and servers return responses to fetch and exchange web resources.
HTTP (Hypertext Transfer Protocol) is the core client-server web protocol used to fetch and exchange resources such as HTML documents, images, videos, scripts, and form submissions. In HTTP, the client (typically a web browser or another user-agent) initiates communication by sending an HTTP request, and the server replies with an HTTP response. A complete web page is usually assembled from multiple resources retrieved via separate request/response messages, and browsers may issue additional requests as scripts run and as linked or embedded content is discovered. HTTP is an application-layer protocol that runs over reliable transport such as TCP, or over TLS-encrypted TCP (HTTPS). It is designed to be extensible through headers, enabling new behaviors and features to be negotiated between clients and servers. Although HTTP itself is stateless (no built-in link between successive requests on the same connection), stateful behavior is commonly achieved using cookies and related mechanisms for sessions. HTTP also supports performance and efficiency improvements through connection management: HTTP/1.0 used a new TCP connection per request, HTTP/1.1 introduced persistent connections and pipelining, and HTTP/2 multiplexes multiple requests over a single connection. In real deployments, many intermediaries may relay or modify HTTP traffic, including proxies and gateways that can cache content, filter requests, balance load, authenticate users, and log activity. HTTP’s extensibility and layered design allow it to control common web features such as caching policies, authentication, session handling, and (via headers) relaxing origin constraints when needed. The protocol’s message structure includes requests (method, resource path, version, headers, optional body) and responses (version, status code/message, headers, optional body), and it remains the foundation for widely used HTTP-based APIs like the Fetch API and server-sent events.
HTTP is a client-server protocol where user-agents send requests and servers return responses to fetch and exchange web resources.
HTTP runs at the application layer over reliable transport (typically TCP, often with TLS), and it is extensible via headers and optimized via connection strategies (persistent connections, multiplexing in HTTP/2).
Despite being stateless, HTTP commonly achieves session state using cookies; intermediaries like proxies can cache, filter, authenticate, balance load, and log traffic.
A client-server application-layer protocol used to request and deliver web resources such as HTML, images, and other content.
Any tool that acts on behalf of the user, most commonly a web browser, which initiates HTTP requests.
An HTTP message sent by the client that specifies an operation (method), a target resource, protocol version, headers, and sometimes a body.
An HTTP message sent by the server that includes the protocol version, a status code/message, headers, and optionally the requested resource in the body.
A property of HTTP where each request is independent and not inherently linked to previous requests on the same connection.
A mechanism that allows HTTP to carry state across requests by storing and sending session-related information.
An intermediary that relays HTTP messages and may modify or augment them, commonly for caching, filtering, load balancing, authentication, or logging.
A connection strategy (introduced in HTTP/1.1) that allows multiple HTTP request/response exchanges over the same underlying TCP connection.
A technique in HTTP/2 that allows multiple requests and responses to share a single connection concurrently.
Key-value metadata fields that make HTTP extensible and control behaviors such as caching, authentication, and other protocol features.
“Can you explain what "HTTP is a client-server protocol where user-agents send requests and servers return responses to fetch and exchange web resources." means in simple terms?”