HTTP (HyperText Transfer Protocol) is the request-response, application-layer protocol clients and servers use to exchange resources on the web.
A client sends a request made of a method, path, and headers; the server replies with a status code, headers, and body. Each request is fundamentally stateless — the protocol does not remember prior requests on its own.
HTTP began as a human-readable, text-based protocol. HTTP/1.1 processes requests serially over a TCP connection and repeats headers on every request; HTTP/2 added multiplexing (many concurrent streams over one connection) and header compression (HPACK). HTTP/3 runs over QUIC (built on UDP) instead of TCP, eliminating transport-layer Head-of-Line blocking.
Because HTTP itself keeps no state, features like login sessions are layered on top using cookies or tokens. Plain HTTP is also vulnerable to eavesdropping and tampering, so nearly all real-world traffic today is HTTPS — HTTP carried over an encrypted TLS connection.