HTTP requests work by sending a request message from the client (browser) to the server. This message contains various components such as the request line, headers, and optionally, a body. The server then processes this request and sends back a response, which can include the requested data, status codes, and headers.