The web client (commonly called a browser) communicates with a Web server using one or more TCP connections. The well-known port for the Web server is TCP port 80. HTTP is the protocol used by the client and server to communicate over the TCP connection. Typically, the browser invokes some hypertext document. Now this document may itself contain other hypertext links to other documents. They may even be links to FTP or TELNET sessions.
The difference between HTTP/1.0 and its predecessor HTTP/0.9 starts with the server being able to identify the version number because it is part of the request line. Some of the main features of HTTP/1.0 are summarized below
Given the increasing use of HTTP, its impact on the WWW is considerable. As mentioned earlier, HTTP/1.0 and earlier versions suffered from some serious performance problems. Some of the problems originate due to the design mismatch between HTTP and its underlying TCP layer. A fundamental problem has to do with the mismatch between the byte-oriented TCP stream and the message oriented HTTP service. An ideal solution is a session-layer protocol on top of TCP that provides a message-oriented interface between an HTTP-client and server over a single TCP connection. This approach is used in HTTP-NG and is described in section 16.4.
The biggest problem however, is due to the use of one TCP connection per file. This causes connection setup and slow-start costs, leading to high latency costs. This is further increased by the protocol returning only one object per request. In general, HTTP/1.0 spends more time waiting than transferring data.
These factors seriously affect the performance of HTTP. The latest versions of the protocol, HTTP/1.1 and HTTP-NG try to overcome these problems.
Copyright © 1996 Mir Farooq Ali, All Rights Reserved
Mir Farooq Ali <mfali@vt.edu>