Subject: IRI/URI

From: Porges <[email-masked]>
Date: Tue, 12 Apr 2005 14:10:17 +1200

OK, first-time poster :)

I was just thinking about IRIs recently and thought about a possible
source of ambiguousness. If the URI element can be EITHER an IRI or a
URI, then:

<uri>http://example.com/200%25equalsZero</uri>

This is both a valid IRI and a valid URI, but if it is considered to
be an IRI it will point to a different location than if it is
considered to be a URI.

IRI (as URI): http://example.com/200%2525equalsZero
URI: http://example.com/200%25equalsZero

Reading through the draft, it seems like IRIs might be the only thing
allowed. If so, could this be made clearer - through a renaming of the
element for instance

I'm not sure if this is even a problem, perhaps there's something I've
missed in the stack of protocols sitting out there. Feel free to
castrate me if this is the case, I've gotten myself rather confused
trying to work through this by myself and thought I'd ask some more
knowledgeable people ;)

---

From: Mark Nottingham <[email-masked]>
Date: Mon, 11 Apr 2005 23:33:21 -0700

Welcome ;)

With the caveat that I'm not an i18n expert; what do you mean by 
'different location'? IRIs don't have a separate level of %-encoding on 
top of that used by URIs; rather, as I understand it, they leverage the 
URI %-encoding mechanism, by just standardising on UTF-8 for the 
character set of encoded characters.

Thus, there would be no difference between an IRI and a URI containing 
a '%' as payload, rather than an escape (as you show).

There's another underlying issue here, which I think Martin brushed up 
against at one point in the past. Basically, it's whether there is 
information in the distinction between something being an IRI vs. it 
being a URI. Compared bit-for-bit, there is no difference, and there 
isn't any difference if you dereference them; it's just whether you put 
any information in the difference.

I'm of the opinion that there is no difference; although it's useful to 
have different terms for them to built conformant systems 
appropriately, purposely saying that there's a difference between two 
character-for-character identical identifiers isn't useful, and would 
be harmful in many cases.

Cheers,

--
Mark Nottingham     http://www.mnot.net/

---

From: Martin Duerst <[email-masked]>
Date: Tue, 12 Apr 2005 16:09:03 +0900

>be an IRI it will point to a different location than if it is

Sorry, wrong. No need to worry.

 >IRI (as URI): http://example.com/200%2525equalsZero

Wrong. Please check section 3.1 of RFC 3987 again.

At the start of Step 2, it says:

For each character in 'ucschar' or 'iprivate',
apply steps 2.1 through 2.3 below. The "%" character
is neither part of 'ucschar' nor of 'iprivate', so
it doesn't get escaped when converting from an IRI
to an URI.

Regards,    Martin.

---

From: Porges <[email-masked]>
Date: Tue, 12 Apr 2005 19:58:34 +1200

Thank you for the correction, Martin Dürst.

...I have a bit of a problem reading technical documents, my eyes tend
to glaze over a bit...

Please don't beat me too hard :)

---

From: Paul Hoffman <[email-masked]>
Date: Tue, 12 Apr 2005 09:40:22 -0700

>Please don't beat me too hard :)

Note to everyone who feels the way Porges does:

At this point in the process, having implementers who are unfamiliar 
with all the discussion on this mailing list reading the document is 
very valuable to us. It is even more valuable for you to ask 
questions such as Porges has. If 90% of your questions get replies 
such as "you didn't read it correctly", that leaves 10% of the 
questions helping us clarify the document before it is finished. That 
is a Very Good Thing for us, and for the people who will become new 
implementers in the future when this mailing list is a historical 
memory.

--Paul Hoffman, Director
--Internet Mail Consortium