Internet Guide Logo

HTTP: HyperText Transfer Protocol

Last Edit: 10/01/17

Introduction

HTTP stands for the HyperText Transfer Protocol, and is a protocol that was primarily designed to process data requests for the World Wide Web. The development of HTTP is currently (2014) controlled by two bodies:

  1. Internet Engineering Task Force (IETF)
  2. World Wide Web Consortium (W3C)

Without HTTP, the World Wide Web could not communicate with the Internet, so that it could locate webpages stored on computers connected to the Internet. Through the use of URL's and hyperlinks, HTTP is capable of interconnecting the World Wide Web and Internet. HTTP is therefore the "bedrock" of data communication for the World Wide Web, and is a part of the Internet protocol suite. HTTP is part of the application layer of the Internet protocol suite (TCP/IP) and through encapsulation uses TCP (Transmission Control Protocol) to complete it's data transmissions.

Development of HTTP

The World Wide Web was invented by Sir Tim Berners-Lee: he first proposed a hypertext system in 1989, and through the help of Robert Cailliau launched the World Wide Web as a service on the Internet in 1991. HTTP was invented by Berners-Lee, and by 1991 it was documented as being: version 0.9. HTTP, to begin with, was a fairly "simple" protocol with only a GET request available (a GET request is explained in the following section of this page). From 1991-1999, HTTP was expanded upon - more request methods were added and security options - and a range of working groups and organisations were involved in evolving and improving HTTP. Request for Comment's documents RFC 1945 and RFC 2068 can be read to get a more accurate view of how HTTP evolved during this period. As of 2014, while version 1.1 may still be the standard version of HTTP, amendments and "improvements" are continuing to be suggested and acted upon.

How HTTP functions

The World Wide Web is a hypertext document system; documents on the World Wide Web are designed using HTML (Hypertext Markup Language). The World Wide Web is based on a client-server model: with a browser (client) requesting and retrieving data stored on a server (web/http server).

Within HTML there is an element (element "a") which is referred to as a hyperlink: hyperlinks are embedded into HTML documents (webpages), and the "role" of a hyperlink is to transfer users from the document they are reading to another hypertext document. Search engines, like Google, contain a database of hyperlinks, and collect and store hyperlinks by following a "chain" or "web" of hyperlinks.

Hyperlinks include a URL: a URL is a address which points to the location (computer) of the hypertext document. An example of a URL is: http://www.google.com. As you can see, the URL begins with the schema: HTTP. This instructs a web client (browser) to submit a HTTP request to a web server. The web server is found by using the hostname (www.google.com) included in the URL.

HTTP uses the Transmission Control Protocol to establish a connect to the web server: usually on port 80. The web server will "listen" to any requests on Port 80. Once a request is "heard", the web server will authorise the request, and the client (browser) which made the request can retrieve the data. This is a simple explanation of a "GET" request in HTTP. There are other requests within HTTP, such as "POST": which will allow a client (browser) to submit data to the host (server) (Bulletin board etc).