HTTP is a request-response protocol for transferring data over the internet. It was introduced by Tim Berners-Lee at CERN. The client submits an HTTP request to the server, which responds with status information and requested content. HTTP uses TCP for network connectivity and relies on DNS to connect clients to servers. HTTP 1.0 defined GET, POST, and HEAD methods, while HTTP 1.1 added PUT, DELETE, TRACE, OPTIONS, and CONNECT. Persistent connections allow multiple requests/responses over a single TCP connection, improving efficiency versus non-persistent connections requiring separate TCP for each transaction.