The basics of the HTTP protocol are much simpler than SMTP, although many things are superficially similar. Requests use a one-word command followed by arguments, and some requests and most replies use RFC-822-style message formats (headers followed by a message body).
The most basic HTTP request is GET, which is of the form
GET object protocol
object names the object being requested from the server (usually, but not always, a filename relative to some document directory in the filesystem). protocol is used to indicate which HTTP protocol level the client can handle, usually HTTP/1.0 or HTTP/1.1. In HTTP/1.1, additional headers that specify request options follow the request line. A request is terminated by a blank line. The object requested may also have some additional structure, such appending something like ?arg1+arg2+arg3 to a URL to pass data to a CGI program requested as an object.
The server responds with a three-digit status code, with similar interpretations to those used in SMTP, followed by response headers and object data in the message body. A required response header is the Content-type: header, which uses MIME data type specifications to indicate what kind of object follows in the response body (other MIME headers may also be included to specify any data encoding used for the object).