HTTP: Difference between revisions
No edit summary |
|||
(14 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
'''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.<ref>[http://tools.ietf.org/html/rfc2616 RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1]</ref> 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.<ref>[http://www.w3.org/People/Berners-Lee/ Tim Berners-Lee Short Bio]</ref> The Internet Engineering Task Force ([[IETF]]) and the [[World Wide Web Consortium|W3C]] coordinate the development and publications of HTTP standards through [[RFC]]s. | |||
==Original HTTP Document== | ==Background== | ||
The first document regarding the HTTP protocol was written by Tim Berners-Lee and it was implemented on a prototype | ===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.<ref>[http://www.w3.org/Protocols/HTTP/AsImplemented.html The Original HTTP as defined in 1991]</ref> <ref>[http://www.w3.org/Addressing/HTTPAddressing.html HTTP Addressing]</ref> | |||
==Basic HTTP Specification== | ===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 | 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.<ref>[http://www.w3.org/Protocols/HTTP/HTTP2.html Basic HTTP as defined in 1992]</ref> | ||
==HTTP Standardization== | ===HTTP Standardization=== | ||
IETF initiated the standardization of HTTP standards | IETF initiated the standardization of HTTP standards in the latter part of 1994, the move was strongly supported by [[W3C]].<ref>[http://www.w3.org/Protocols/Activity.html#role HTTP Activity Statement]</ref> 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.<ref>[http://www.ietf.org/rfc/rfc1945.txt | ||
Hypertext Transfer Protocol -- HTTP/1.0]</ref> | Hypertext Transfer Protocol -- HTTP/1.0]</ref> Computer scientists working on HTTP 1.0 discovered flaws in 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 a 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.<ref>[http://www.w3.org/Protocols/HTTP/1.0/HTTPPerformance.html Analysis of HTTP Performance problems]</ref> | ||
RFC 2616 | 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.<ref>[http://www.w3.org/Protocols/Activity.html HTTP Activity Statement]</ref> Subsequently, in 1997, a proposed IETF standard, RFC 2068 was submitted to the IETF describing the specifications for HTTP/1.1. <ref>[http://tools.ietf.org/html/rfc2068 Hypertext Transfer Protocol -- HTTP/1.1]</ref> | ||
On July 7, 1999, RFC 2616 was approved by the [[IESG|Internet Engineering Steering Group]] (IESG), as the current IETF draft standard for HTTP/1.1<ref>[ http://tools.ietf.org/html/rfc2616 REF 2616 Hypertext Transfer Protocol -- HTTP/1.1]</ref> | |||
==HTTP Working Group== | |||
The HTTP working group was started working on the specifications of the protocol in 1995. The group includes [[Tim Berners-Lee]] and [[Dave Ragget]], who served as co-Chairmen, [[John Klensin]] and [[Erik Huizer]], who served as Application Area Directors, while [[Jeffrey Schiller]] worked as Security Area Director. <ref>[http://www.w3.org/Arena/webworld/httpwgcharter. HTTP Working Group]</ref> | |||
==References== | ==References== | ||
Line 24: | Line 29: | ||
__NOTOC__ | |||
[[Category: Glossary]] | [[Category: Glossary]] |
Revision as of 17:37, 12 May 2021
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.
Background[edit | edit source]
Original HTTP Document[edit | edit source]
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[edit | edit source]
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[edit | edit source]
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 in 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 a 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[edit | edit source]
The HTTP working group was started working on the specifications of the protocol in 1995. The group includes Tim Berners-Lee and Dave Ragget, who served as co-Chairmen, John Klensin and Erik Huizer, who served as Application Area Directors, while Jeffrey Schiller worked as Security Area Director. [12]
References[edit | edit source]
- ↑ RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1
- ↑ Tim Berners-Lee Short Bio
- ↑ The Original HTTP as defined in 1991
- ↑ HTTP Addressing
- ↑ Basic HTTP as defined in 1992
- ↑ HTTP Activity Statement
- ↑ [http://www.ietf.org/rfc/rfc1945.txt Hypertext Transfer Protocol -- HTTP/1.0]
- ↑ Analysis of HTTP Performance problems
- ↑ HTTP Activity Statement
- ↑ Hypertext Transfer Protocol -- HTTP/1.1
- ↑ [ http://tools.ietf.org/html/rfc2616 REF 2616 Hypertext Transfer Protocol -- HTTP/1.1]
- ↑ HTTP Working Group