Not necessarily. Let's take the specific example that started this
whole discussion. I will phrase it as an HTTP response so that we
can assume we obtained the document as the result of retrieving the
URI shown:
200 OK
URI: <http://www.hp.com/Misc/Peripherals.html>
Content-type: text/html
<head>
<base href="http://www.hp.com/go/ftp-sites">
</head>
<a href="#Printers">Printers</a>
...
<h3><a name="Printers">Printers</a></h3>
It's true that *without* the <base> tag, the relative URL
"#Printers" would resolve to
"http://www.hp.com/Misc/Peripherals.html#Printers" according to the
rules of RFC 1808. The entity corresponding to the URL
"http://www.hp.com/Misc/Peripherals.html" would then (luckily!)
already be in front of us, and the agent would merely need to scroll
down to get "http://www.hp.com/Misc/Peripherals.html#Printers".
However, *with* the <base> tag, the relative URL "#Printers"
instead resolves to "http://www.hp.com/go/ftp-sites#Printers"
according to RFC 1808 (please read it). Thus, a correct user agent
must retrieve the entity representing the URL
"http://www.hp.com/go/ftp-sites" and find *its* "Printers" fragment
-- and we do not already have it in front of us.
This example may seem peculiar, but the rules of RFC 1808 are
designed to keep the following orthogonal:
* the determination of the base URL;
* the process for resolving relative URLs;
* the URL scheme (as long as it obeys the generic-RL syntax).
(Datapoint: OmniWeb for the NeXT resolves these URLs correctly.)
--------------------------------------------------------------------
Paul Burchard <burchard@math.utah.edu>
``I'm still learning how to count backwards from infinity...''
--------------------------------------------------------------------