HyperText Transfer Protocol [ http:// ]
HyperText Transfer Protocol, In an application-level protocol for distributed, collaborative, hypermedia information systems. This is the foundation for data communication for the WWW since 1990.
HTTP is a generic and stateless protocol which can be used for other purposes as well using the extension of its request method, error codes, and headers. HTTP is a TCP/IP based communication protocol.
The default port is TCP 80, But other ports can be used as well. It provides a standardized way for computers to communicate with each other. There are three features that make HTTP simple but powerful.
1. HTTP is connectionless
The HTTP client, i.e., a browser initiates an HTTP request and after a request is made, the client waits for the response. The server processes the request and sends a response back after which the client disconnects the connection. So the client and server know about each other during the current request and response only. Further requests are made on a new connection like clients and servers are new to each other.
2. HTTP is media independent
It means any type of data can be sent by HTTP as long as both the client and the server know how to handle the data content. It is required for the client as well as the server to specify the content type using appropriate MIME-type.
3. HTTP is stateless
As mentioned above, HTTP is connectionless and it is a direct result of HTTP being a stateless protocol. The server and client are aware of each other only during a current request. Afterward, both of them forget about each other. Due to this nature of the protocol, neither the client nor the browser can retain information between different requests across the web pages.

The HTTP protocol is a request/response protocol based on the client/server based architecture where web browsers, robots and search engines, etc. act like HTTP clients, and the Web server acts as a server.
4. Client:
The HTTP client sends a request to the server in the form of a request method, URI, and protocol version, followed by a MIME-like message containing request modifiers, client information, and possible body content over a TCP/IP connection.
5. Server:
The HTTP server responds with a status line, including the message’s protocol version and a success or error code, followed by a MIME-like message containing server information, entity meta information, and possible entity-body content.
6. HTTP Status Codes

7. HTTP Methods
GET
The GET method is used to retrieve information from the given server using a given URI. Requests using GET should only retrieve data and should have no other effect on the data.
HEAD
Same as GET, but transfers the status line and header section only.
POST
A POST request is used to send data to the server, for example, customer information, file upload, etc. using HTML forms.
PUT
Replaces all current representations of the target resource with the uploaded content.
DELETE
Removes all current representations of the target resource given by a URI.
CONNECT
Establishes a tunnel to the server identified by a given URI.
OPTIONS
Describes the communication options for the target resource.
TRACE
Performs a message loop-back test along the path to the target resource