HTTP is a protocol for transmitting hypertext documents across the internet. It was introduced in 1989 along with HTML to allow hypertext documents to be fetched via the internet. HTTP works by having clients make requests to servers using methods like GET and POST, and servers respond with status codes and headers along with content in the response body. Key aspects of HTTP include URLs, requests, responses, status codes, headers, and common mistakes around character encodings, caching, and cookies.