HTTP is the most popular application protocol on the internet. It uses the client-server model where an HTTP client sends a request to an HTTP server using a request method like GET or POST. The server then returns a response with a status code and can include a message body. A URL identifies a web resource and includes the protocol, hostname, port, and path. HTTP specifications are maintained by the W3C and the current versions are HTTP/1.0 and HTTP/1.1. The HTTP request and response include a start line, headers, and optional body. Common status codes indicate success, redirection, or client/server errors.