The HTTP stands for Hypertext Transfer Protocol is an application level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems.
HTTP is a generic, stateless, object-oriented protocol which can be used for many tasks such as name servers and distributed object management systems, through extension of its request methods or commands.
A feature of HTTP (Hypertext Transfer Protocol) is the typing of data representation, allowing systems to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990.
You can say that HTTP is the set of rules for transferring hypertext such as text, graphics, image, sound, video etc. on WWW (World Wide Web).
Practical information systems require more functionality than simple retrieval including search, front-end update, and annotation. HTTP allows an open-ended set of methods to be used to indicate the purpose of a request. It builds on the discipline of reference provided by the URI (Uniform Resource Identifier), as a location (URL) or name (URN), for indicating the resource on which a method is to be applied.
Messages are passed to HTTP in a format similar to that used by Internet Mail and MIME (Multipurpose Internet Mail Extensions).
HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other Internet protocols such as SMTP, NNTP, FTP, Gopher, and WAIS allowing the basic hypermedia access to resources available form diverse applications and simplifying the implementation of user agents.
The HTTP protocol consists of the following two fairly distinct items:
Although HTTP was designed for the use in the web, it has been intentionally made more general than necessary with an eye to future object-oriented applications.
The HTTP has various built-in request methods which allow users to read a web page or to read a web page's header, or to store a webpage, or to append to a named resource or to remove the web page or to connect two existing resources or to break an existing connection between the two resources.