HTTP is an acronym for Hyper Text Transfer Protocol. A protocol is a set of rules that needs to be followed by two computers while communicating each other on the network.

HTTP development was coordinated by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF), which defines HTTP/1.1. This version of HTTP is in common use.

HTTP is a request/response standard of a client and a server. A client is the end-user, the server is the web site/web server. The client making a HTTP request - using a web browser, spider, or other end-user tool - is referred to as the User-agent. The responding server - which stores or creates resources such as HTML files and images - is called the origin server/web server. In between the user agent and web server may be several intermediaries, such as proxies, gateways, and tunnels. HTTP is not constrained to using TCP/IP and its supporting layers, although this is its most popular application on the Internet. Indeed HTTP can be "implemented on top of any other protocol on the Internet, or on other networks." HTTP only presumes a reliable transport; any protocol that provides such guarantees can be used."

Typically, an HTTP client initiates a request. It establishes a Transmission Control Protocol (TCP) connection to a particular port on a host (port 80 by default). An HTTP server listening on that port waits for the client to send a request message. Upon receiving the request, the server sends back a status line, such as "HTTP/1.1 200 OK", and a message of its own, the body of which is perhaps the requested resource, an error message, or some other information.

You can read my other post on What rules are involved as part of HTTP protocol?