Re: Is this use of BASE kosher?

Paul Burchard (burchard@horizon.math.utah.edu)
Wed, 2 Aug 95 21:26:51 EDT

"Daniel W. Connolly" <connolly@beach.w3.org>
> The point is that you don't _need_ to retrieve a
> representation of the resource identified by the base
> URL: you've already got it!

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...''
--------------------------------------------------------------------