From ICANNWiki
Jump to: navigation, search

Hypertext Transfer Protocol (HTTP) is a standard networking protocol for distributed, collaborative, hypermedia systems that has been used on the World Wide Web since 1990.[1] The protocol is used in communication between the web pages and web servers. It allows users to download pages and connect to servers located in different parts of the globe. The design and specifications of HTTP was first developed by Tim Berners-Lee, inventor of World Wide Web.[2] The Internet Engineering Task Force (IETF) and the W3C coordinate the development and publications of HTTP standards through RFCs.


Original HTTP Document

The first document regarding the HTTP protocol was written by Tim Berners-Lee in 1991 and it was implemented on a prototype released by W3C initiative software as HTTP 0.9. In the original document, HTTP 0.9 was defined by Berners-Lee as a simple search and retrieve protocol that runs through a TCP/IP connection.[3] [4]

Basic HTTP Specification

In 1992, Berners-Lee submitted the Basic HTTP specification to the IETF as an Internet Draft. In detail, he defined HTTP as a "protocol with the lightness and speed necessary for a distributed collaborative hypermedia information system. It is a generic stateless object-oriented protocol, which may be used for many similar tasks such as name servers, and distributed object-oriented systems, by extending the commands or methods used". In addition, he added that HTTP's characteristics allow systems to be built independently for the development of new advanced representations.[5]

HTTP Standardization

IETF initiated the standardization of HTTP standards in the latter part of 1994, the move was strongly supported by W3C.[6] In 1996, Tim Berners-Lee, together with Roy Fielding and Henrik Frystyk Nielsen, published RFC 1945, the first IETF Informational Document for HTTP 1.0.[7] Computer scientists working on HTTP 1.0 discovered flaws on the performance of the protocol. Based on the performance analysis prepared by Simon Espero of W3C, there is a delay in transferring data and it has a bad interaction with TCP. Frequent round trip delays were discovered due to connection establishment and a slow start performance was also observed in both directions for short duration connections. The protocol also demonstrated heavy latency penalties because of mismatch of typical access profiles with a single request per transaction model. In addition, HTTP 1.0 requires busy servers to dedicate resources to be able to maintain TIME_WAIT information for large numbers of closed connections.[8]

Despite the problems discovered with HTTP 1.0, computer scientists from W3C acknowledged the full potential of the protocol and started experimental implementations on HTTP 1.1. Experiments were held within Libwww, the W3C protocol library and Jigsaw, W3C's Web server.[9] Subsequently, in 1997, a proposed IETF standard, RFC 2068 was submitted to the IETF describing the specifications for HTTP/1.1. [10] On July 7, 1999, RFC 2616 was approved by the Internet Engineering Steering Group (IESG), as the current IETF draft standard for HTTP/1.1[11]

HTTP Working Group

The HTTP working group was started working on the specifications of the protocol in 1995. The group include Tim Berners-Lee & Dave Ragget who served as co-Chairmen, John Klensin & Erik Huizer served as Application Area Directors While Jeffrey Schiller worked as Security Area Director. [12]