In more detail
A client sends a request with a method (GET to read, POST to submit, PUT, DELETE and others), a URL and headers; the server replies with a status code, headers and usually a body. Status codes are grouped by their first digit: 2xx success, 3xx redirection, 4xx client error, 5xx server error. HTTP/1.1 is plain text over TCP; HTTP/2 carries many requests at once over a single connection in binary frames; HTTP/3 runs over QUIC on UDP. HTTP is stateless: each request stands alone, which is why cookies and tokens exist. The encrypted form is HTTPS.
Why it matters
Status codes and headers explain most web problems: an unexpected redirect, a page that will not update because of caching headers, or a 403 where a 401 was expected. Plain HTTP can be read and altered by anyone on the network path, so it should no longer be used for anything but a redirect to HTTPS.
Example
A minimal exchange:
GET /index.html HTTP/1.1
Host: example.com
Accept: text/html
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=3600
The body (the HTML) follows the response headers after a blank line. See HTTP Status Codes Cheat Sheet and HTTP Headers Cheat Sheet.