Re: Recursive look up of base in outer headers

Jacob Palme (jpalme@dsv.su.se)
Thu, 4 Sep 1997 14:19:14 +0100


Message-Id: <v03110725b034647d2f8d@[130.237.158.12]>
In-Reply-To: <v04001308b033ef744b53@resnick2.qualcomm.com>
Date: Thu, 4 Sep 1997 14:19:14 +0100
To: mhtml@SEGATE.SUNET.SE
From: Jacob Palme <jpalme@dsv.su.se>
Subject: Re: Recursive look up of base in outer headers
Cc: uri@bunyip.com

At 00.08 -0500 97-09-04, Pete Resnick wrote:
> Content-Type: multipart/related
> Content-Base: foo://bar/biff/
>
>     Content-Type: multipart/mixed
>     Content-Location: blah://blee/blue.bar
>
>         Content-Type: text/html
>
> What is the base for the text/html, which has neither Content-Location nor
> Content-Base? Is it <blah://blee/> (the base we use for its parent since it
> has not Content-Base) or is it <foo://bar/biff/> (the specific base of its
> parent's parent)?

The latest draft says that a base in an absolute Content-Location in an
inner heading has precedence over a Content-Base in a heading further out.
Below is the text in the draft I sent in a few days ago
(ftp://ftp.dsv.su.se/users/jpalme/draft-ietf-mhtml-rev-01.txt, see also
http://www.dsv.su.se/~jpalme/ietf/mhtml.html):

--- ---

5. Base URIs for resolution of relative URIs

Relative URIs inside contents of MIME body parts are resolved relative to a
base URI using the methods for resolving relative URIs described in
[RELURL]. In order to determine this base URI, the first-applicable method
in the following list applies.

(a) There is a base specification inside the MIME body part containing
    the link which resolves relative URIs into absolute URIs. For
    example, HTML provides the BASE element for this.

(b) There is a Content-Base header (as defined in section 4.2), in the
    immediately surrounding content heading, specifying the base to be
    used.

(c) There is a Content-Location header in the immediately surrounding
    heading of the body part which contains an absolute URI and can
    then serve as the base in the same way as the requested URI can
    serve as a base for relative URIs within a file retrieved via HTTP
    [HTTP].

(d) Step (b) and (c) can be repeated recursively on Content-Base and
    Content-Location headers in surrounding multi-part headings.
    However, a base from an absolute Content-Location in an inner
    heading takes precedence over a base from a Content-Base or a
    Content-Location in a surrounding heading.

When the methods above do not yield an absolute URI matching of two
relative URIs against each other can still be done for matches within a
multipart/related. This matching is done as if they had been given as base
an imaginary URL "This_message:/", which exists for the sole purpose of
resolving relative references within a multipart entitity.

------------------------------------------------------------------------
Jacob Palme <jpalme@dsv.su.se> (Stockholm University and KTH)
for more info see URL: http://www.dsv.su.se/~jpalme