Re: [Uri-review] ACTION-103 Follow up on the about: scheme Registration

On Feb 23, 2010, at 3:27 AM, Julian Reschke wrote:

> On 23.02.2010 10:08, Joseph Holsten wrote:
>> On Feb 22, 2010, at 8:26 AM, Julian Reschke wrote:
>>> 1)
>>> 
>>> "7. Relative "about" URIs
>>> 
>>>   As "about" URIs do not use a hierarchical path, relative "about" URIs
>>>   are not permitted."
>>> 
>>> I think this is misleading.
>>> 
>>> A relative reference, as defined in<http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.4.2>, does not contain a URI scheme (by definition). So it's meaningless to talk about the scheme of a reference.
>>> 
>>> In doubt, just drop the paragraph.
>> 
>> It's meaningless, but there are a few issues. First, as a stupid implementor writing a URI parser and handler, I'm used to having to deal with relative URIs. Obviously, I'm going to be confused about the right thing to do is. I want to tell these people, "Don't worry, you don't have to deal with relative about URIs, they don't exist."
> 
> Well, there aren't relative URIs. They are called "relative references". They do not have a scheme.
> 
> So the question needs to be rephrased as: "what does happen when I resolve a relative reference against an "about" URI"? The answer is the same for all URIs (because generic URI processors need to be able to do this regardless the scheme), and the answer is in RFC 3986, Section 5 (<http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.5>).

I learn something new every day. Looks like I just swiped this from RFC 2397.

Trouble is, I'm seriously confused as to whether about URIs can or can't have relative references. So far as I can tell, RFC 3986 §4.4 says the handling of short same-document references (e.g. #SectionOne) is formally defined in §5.2.2. But §D.2 says:

"The determination of whether a URI reference is a same-document reference has been decoupled from the URI parser, simplifying the URI processing interface within applications in a way consistent with the internal architecture of deployed URI processing implementations. The determination is now based on comparison to the base URI after transforming a reference to absolute form, rather than on the format of the reference itself. This change may result in more references being considered "same-document" under this specification than there would be under the rules given in RFC 2396, especially when normalization is used to reduce aliases. However, it does not change the status of existing same-document references."

Which makes me think I'm wrong. Surely there is a way for non-hierarchical URIs to handle same-document references. Obviously the recomposition function in §5.3 only generates hierarchical URIs. I want to say this is a bug in RFC 3986, but that seems hard to believe.

I'm beginning to think the reason I added that line was to remind myself that this is hard to verify.

Links:
RFC 2397. The "data" URL scheme, http://tools.ietf.org/html/rfc2397
RFC 3986 §4.4. Same-Document Reference, http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.4.4
RFC 3986 §5.3. Component Recomposition, http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.5.3
RFC 3986 §D.2. Modifications. http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.D.2
--
j

Received on Tuesday, 23 February 2010 11:34:50 UTC