next up previous contents
Next: Secure HTTP Up: HTTP - Hypertext Transport Previous: HTTP/1.0   Contents

HTTP/1.1

HTTP/1.1[7] is still considered a new protocol although it has been available since January 1997. The main purpose of this revision was to add much needed support for persistent connections and virtual hosts. Persistent connections allow the client and server to use a single connection to handle several HTTP transactions. In addition, clients can pipeline requests by sending several requests at once and wait for replies in the corresponding order. Virtual host support added in HTTP/1.1 fixes a deficiency of HTTP/1.0 where it was not possible for a web server to determine the hostname under which it was addressed by the client. This deficiency occurs when a single web server is configured to serve documents for multiple Internet domains. If any of the domains are inside the same IP address space, the server cannot determine from the connection which domain is being requested. To address this issue, HTTP/1.1 specifies that all requests must include the Host header, as shown in Figure 2.6, to inform the web server which hostname is being requested.

Figure 2.6: Example HTTP/1.1 request and reply
\begin{figure}
\begin{center}
\begin{verbatim}Request:GET /page2.html HTTP/1....
...<HTML><BODY>HTML document</BODY></HTML>\end{verbatim}\end{center}\end{figure}

As of the writing of this document, major web servers support HTTP/1.1. However, almost all popular web browsers do not support HTTP/1.1 and cannot take advantage of its performance improvements.


next up previous contents
Next: Secure HTTP Up: HTTP - Hypertext Transport Previous: HTTP/1.0   Contents
Mark R. Boyns
1999-01-12