Hypertext Transfer Protocol, better known to millions of Web surfers as HTTP, was invented in 1990 by Tim Berners-Lee at the CERN Laboratories in Geneva, Switzerland. Today, it is the foundation of the World Wide Web and the Hypertext Markup Language or HTML. Three versions of HTTP were developed: 0.9, 1.0 and 1.1. Both 1.0 and 1.1 are in common usage today.
HTML was intended to be quick and lightweight. Speed of delivery is enabled by creating a notification of file type in the header of the data being transferred, known as MIME type. This enables the receiving application to quickly open the incoming file without having to ask the sender what application should be used to read or view the contents of the file.
A Web page contains mixed elements such as text and images. Each element requires a different amount of resources to store and download. HTTP enables multiple connections to download separate elements concurrently, thus speeding up transmission. Each element is assigned its own particular file type and therefore can be handled faster and more efficiently by the receiving computer.
The addressing scheme used by HTTP was also a revolutionary advancement. When computers had to be addressed using an IP address consisting of a series of numbers, the public found it difficult to engage with the Internet. Mapping IP addresses to easily recognizable names made the World Wide Web commercially viable.
With file type notification preceding data transmission, the receiving application has the option of quickly downloading extensions or plug-ins if additional capabilities are needed to display the data. These add-ons include Flash players and PDF document readers.
HTTP 1.0 downloads each file over an independent connection and then closes the connection. This reduces the risk of interception during transmission, as the connection does not persist beyond the transfer of a single element of a Web page. Hypertext Transfer Protocol Secure (HTTPS) encrypts the HTTP exchange to add further security.
Ease of Programming
HTTP is coded in plain text and therefore is easier to follow and implement than protocols that make use of codes that require lookups. Data is formatted in lines of text and not as strings of variables or fields.
Although HTTP is a simple messaging protocol, it includes the ability to search a database with a single request. This allows the protocol to be used to carry out SQL searches and return results conveniently formatted in an HTML document.
One minor drawback of HTTP is the need to create multiple connections in order to transmit a typical Web page, which causes an administrative overhead. HTTP 1.1 has the ability to maintain an open connection for several requests. In addition, the concept of “pipelining” was added, enabling many requests to be sent to the receiving computer before the first request is served. These two measures speed up the response time for delivering a Web page.