HTTP 1.1 Compliant Browsers — The Classics

This article is part of a series that I started to collect information about the development of web, totally from a different point of view than that is given in the books

HTTP 1.1 Compliant Browsers

The following browsers (including subsequent versions) are currently known to support the http 1.1 ‘host’ header:

These include by far the most popular browsers, and will soon be in use by all of the major online services.

The WebCom virtual hosting service (the ability for your home page to be referenced simply as http://www.yourdomain.com/) only works with http 1.1 compliant browsers. At the time of this writing (March 1996), over 40% of browsers in use on the Internet are http 1.1 compliant (update: as of June 1996, 65% of all browsers accessing WebCom are http 1.1 compliant). This is remarkable as the protocol standard was only completed a month or two ago (to be precise, it has not even received a final stamp of approval from its governing body, although the current published specification is considered to be essentially final). Netscape Navigator 2.0 and Microsoft Internet Explorer 3.0 are the most popular browsers, and both have recently been licensed for use by subscribers of the major online services (AOL, Compuserve, etc.). For these reasons, it is expected that by late 1996, virtually all browsers in use on the Internet will be http 1.1 compliant (or at least will pass the http 1.1 host header to the server, which is the requirement for WebCom’s virtual hosting service).

The URL form for accessing a home page with a custom domain name by a non- http 1.1 compliant browser is http://www.company.com/userid/, where userid is the WebCom userid for the site. If somebody tries to access a custom domain name at WebCom as http://www.company.com/ by a non-http 1.1 compliant browser, they’ll get the WebCom home page. From there they will be guided to click on a second link, which takes them to the correct home page.

If you’re curious to learn more details about http 1.1 and virtual hosting, read on.

HTTP is an acronym for HyperText Transport Protocol. It is the agreed upon standard protocol for communications between Web browsers and Web servers.

The original releases of NCSA Mosaic and Netscape Navigator, as well as all other browsers, used the http 1.0 protocol. As the World Wide Web exploded in terms of popularity and volume of data and traffic, a number of bottlenecks and other limitations in the http protocol became apparent.

As a result, the The World Wide Web Consortium, the organization responsible for the development and publication of the http protocol standard, began work on an enhanced version of the http protocol. This first enhancement was intended to be developed quickly and implemented quickly – its goal was not to add features so much as to alleviate pressing problems in the existing protocol. The goal was to improve the standard quickly in ways that could be quickly and easily implemented by the browser and server manufacturers. http 2.0 will be a much more comprehensive revision of the protocol standard.

The main feature of the http 1.1 protocol which WebCom and WebCom’s customers are interested in is the addition of the ‘host’ header. This allows a Web server to determine the home page for a domain name by the domain name itself. This is important when one server hosts many domain names, as is the case for the WebCom Web server.

In the previous protocol standard (1.0), the browser did not tell the server what the domain name portion of the URL was, but only the path to the file. For example, when you typed in http://www.domain.com/page.html, the browser first looked up the underlying network address associated with www.domain.com, then the browser would connect to the server at that network address, and request “page.html”. If that server had multiple domain names, all associated with the same network address (of that server), the server could not distinguish between requests for www.domain1.com/page.html and www.domain2.com/page.html. In each case the browser would request page.html. In http 1.1, the browser is now required to tell the server not only the path portion of the URL, but the domain name as well, allowing the server to distinguish between requests for files of the same name with different domains, and, similarly, to distinguish between requests for the default home page on different domains (http://www.domain1.com/ and http://www.domain2.com/).

Web hosting service providers call the ability of a single Web server to host multiple domain names as though each domain name were a separate server ‘Virtual Hosting’. Prior to the implementation of http 1.1, the only way to accomplish virtual hosting was to assign a separate network address to each domain name hosted by the server, but have the server answer on all of those addresses (whereas otherwise a server would normally have only one network address). In this strategy, the server is able to deduce the domain name requested by the browser by examining the network address on which the request arrived (remember that a separate address is assigned to each domain name hosted by the server, and the server is configured to have multiple addresses – one for each domain name it hosts). With the requested network address, the server performs a “reverse DNS lookup” by resolving the network address to a domain name (the opposite of the typical DNS function – resolving a domain name to a network address).

The practice of assigning multiple network addresses to the same server in order to accomplish virtual hosting has severe problems with efficiency and scalability. The http 1.1 protocol standard resolves this problem by explicitly passing the domain name in the protocol itself.

See the top of this page for a list of currently known http 1.1 compliant browsers. WebCom expects virtually all browsers in use on the Internet to be http 1.1 compliant by late 1996.