Re: Base URLs

Roy T. Fielding (fielding@avron.ICS.UCI.EDU)
Wed, 08 Feb 1995 15:10:33 -0800


To: Owen Rees <rtor@ansa.co.uk>
Cc: uri@bunyip.com
Subject: Re: Base URLs 
In-Reply-To: Your message of "Wed, 08 Feb 1995 17:38:49 GMT."
             <9502081738.AA17595@plato.ansa.co.uk> 
Date: Wed, 08 Feb 1995 15:10:33 -0800
From: "Roy T. Fielding" <fielding@avron.ICS.UCI.EDU>
Message-Id:  <9502081510.aa24771@paris.ics.uci.edu>

> In draft-ietf-uri-relative-url-05.txt, "within Document Content" (3.1) 
> overrides "within Message Headers" (3.2). Is there a reason for this order? I 
> can think of reasons for putting these two the other way round, but not for 
> this order.

The primary reason is that the creator of the document is assumed to know
more about its contents than the packager that creates the message headers.
Packagers (such as those for non-interactive services like netnews or mail)
should be able to say "where the document came from" without overriding
the creator's statement of "this is where the links point to".  Most
importantly, we cannot require that the packager be able to identify
an embedded base within arbitrary content before it can be considered safe
to add a base header.

> Typical servers generate the headers dynamically, but use stored document 
> content. The precedence only matters when there is a base defined both in the 
> document and in the headers, and the currently proposed order gives
> precedence to what I would expect to be the "older" information. I can
> forsee fixing up a server to issue Base: headers according to some mapping
> rule, and wanting to override what is in the document.

In general, a base is only embedded in a document when the creator of that
document knows that the links must be parsed relative to a specific URL.
For a system to automatically override this, it must know exactly what was
intended by the creator and that the links are valid relative to the new base.
In the few cases where this is possible, it makes more sense for the system
to replace the embedded base, since replacing the embedded base is what it
is doing semantically.

......Roy Fielding   ICS Grad Student, University of California, Irvine  USA
                                     <fielding@ics.uci.edu>
                     <URL:http://www.ics.uci.edu/dir/grad/Software/fielding>