This is a client-server protocol used to send requests and receive responses. It is stateless (the server doesn't remember the client).
HTTP relies on lower levels being reliable
A Universal Resource Locator (URL) is used to locate files that exist on servers. They have the following parts:

Non-persistent connections involve one TCP connection per HTTP request. Once a response has been sent by the server, the HTTP connection is closed.
The main downside is that a whole TCP session has to be built up and torn down every time a single HTTP request is sent. For example, if the client receives a file with several JavaScript elements and images, it will have to open many more TCP connections, which is slow.
This uses a single client-server TCP connection for all the HTTP requests and responses.
There are two types of HTTP message: HTTP Requests, and HTTP Responses