Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
134 CHAPTER 3 The Design of Naming Schemes is a case study of DNS that describes in detail how this resolution works. 3. The browser opens a connection to the server at that Internet address, using the protocol found in step 1, and as one of the first steps of that protocol it sends the remaining part of the URL, /Alice/www/home.html , to the server. 4. The server looks for a file in its file system that has that path name. 5. If the name resolution of step 4 is successful, the server sends the file with that path name to the client. The client transforms the file into a page suitable for display. (Some Web servers perform additional name resolution steps. The discussion in Section 3.3.4 describes an example.) The page sent by the server might contain a hyperlink of its own such as the following: <a href="contacts.html">How to contact Alice.</a> In this case the URL (again, the part between the quotation marks) does not carry its own context. This abbreviated URL is called a relative or partial URL. The browser has been asked to interpret this name, and in order to proceed it must supply a default context. The URL specification says to derive a context from the URL of the page in which the browser found this hyperlink, assuming somewhat plausibly that this hypertext link should be interpreted in the same context as the page in which it was found. Thus it takes the original URL and replaces its last component ( home.html ) with the partial URL, obtaining http://web.pedantic.edu/Alice/www/contacts.html It then performs the standard name-mapping algorithm on this newly fabricated absolute URL, and it should expect to find the desired page in Alice's www directory. A page can override this default context by providing something called a base element (e.g., <base href="some absolute URL"> ). The absolute URL in the base element is a context reference to use in resolving any partial URL found on the page that contains the base element. 3.2.3 Url Case Sensitivity Multiple naming schemes are involved in the Web naming algorithm, as is clear by noticing that some parts of a URL are case sensitive and other parts are not. The result can be quite puzzling. The host name part of a Uniform Resource Locator (URL) is interpreted by the Internet Domain Name System, which is case-insensitive. The rest of the URL is a different matter. The protocol name part is interpreted by the cli- ent browser, and case sensitivity depends on its implementation. (Check to see if a URL starting with "HTTP://" works with your favorite Web browser.) The Macintosh implementation of Firefox treats the protocol name in a case- preserving fashion, but the now-obsolete Macintosh implementation of Internet Explorer is case-coercing.