- From: Michael A. Puls II <shadow2531@gmail.com>
- Date: Fri, 16 Oct 2009 02:54:23 -0400
- To: "Silvia Pfeiffer" <silviapfeiffer1@gmail.com>
- Cc: "Julian Reschke" <julian.reschke@gmx.de>, "Larry Masinter" <masinter@adobe.com>, Martin J. Dürst <duerst@it.aoyama.ac.jp>, "jwz@jwz.org" <jwz@jwz.org>, "PUBLIC-IRI@W3.ORG" <PUBLIC-IRI@w3.org>
On Thu, 15 Oct 2009 22:43:45 -0400, Silvia Pfeiffer <silviapfeiffer1@gmail.com> wrote: > The main problem that I see is where "#" is being used multiple times > in such a uri, e.g. > > mailto:?subject=asdf#ghij&body=before#after > > Per RFC3986, the first "#" creates the fragment, so the body is never > regarded as another query parameter. I would think that "#" has to be > escaped in mailto uris. If there weren't multiple query parameters in > a mailto uri, one could simply make the user agent append the fragment > part to the query parameter data to get around the contradiction, but > that is not possible with multiple "#" parameters. Well, since frag ids are of no use in mailto URIs currently, if you encounter "mailto:?subject=asdf#ghij&body=before#after", what do you think the creator of the URI intended? For me, the creator obviously meant "mailto:?subject=asdf%23ghij&body=before%23after" and could not have meant anything else. So, although # is invalid in a header field value, in the case of mailto, it's obvious what the creator meant, imo. For mutliple # in the case above, if the first # starts a fragid for mailto, and fragids in mailto URIs actually did something, then, I would consider the fragid segment to just be "#ghij&body=before#after", where the creator actually meant "#ghij%26body%3Dbefore%23after". (Or, you can assume the creator meant "mailto:?subject=asdf%23ghij&body=before#after" where the creator meant the first # to be %23 and actually meant to use a fragid of #after. But that's highly unlikely the creator meant that.) To be clear though, the concern I have is how to handle mailto URIs where the creator meant %23, but used a raw # instead, because they did it on accident or didn't know that it had to be encoded as %23. You could even say that in all cases where you find a # in a mailto URI, the creator meant %23. The only reason for UAs not to make that assumption is so things don't get messed up in the future if fragid support for mailto is actually defined and does something. That's my reasoning fwiw. But, if UAs should just chop off the maito URI at the first # no matter what, then O.K., but that should be explicitly mentioned. -- Michael
Received on Friday, 16 October 2009 06:55:02 UTC