- From: Frank Ellermann <nobody@xyzzy.claranet.de>
- Date: Thu, 11 Jan 2007 23:09:25 +0100
- To: uri@w3.org
- Cc: uri-review@ietf.org
Christopher R. Hertel wrote: > If the scheme is going to support workgroups at all, however, then > I think we need to maintain the "smb://" semantics. Excluding the special case smb:// (I try to tackle that below) what you have about absolute URLs should work. One problem pointed out by Claus was for relative URLs using /.. segments: You can't invent special rules for ../bar at smb://foo/ resulting in smb://bar/, the general rules in RFC 3986 don't allow this. The reason is that all UAs will handle "." and ".." as specified in chapter 5.2 of RFC 3986, no matter what the actual scheme is, smb or ftp or anything else using path-segments separated by slashes. And with that algorithm there's no relative way from smb://foo/ to smb://bar/ because "//foo" is parsed as "authority". I think you're forced to accept this, here the "U" (uniform) in "URI" beats scheme- specific ideas. For the smb: vs. smb:// issue I can't tell what's better, the general syntax apparently allows an "empty authority" as in smb:// URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] Remove query and fragment, there's no "?" and no "#" in "smb://" Identify "smb" as scheme, ":" as separator, that leaves "//" hier-part = "//" authority path-abempty The only way to get "//" at this position, so now we need an empty authority and an empty path-abempty to finish this. path-abempty = *( "/" segment ) path-abempty can be completely empty (zero segments). authority = [ userinfo "@" ] host [ ":" port ] userinfo and host are only optional, now we need an empty host (of course this is okay as in "file:///", but I check the host anyway): host = IP-literal / IPv4address / reg-name No chance with the literals, they're never empty. Therefore we need an empty reg-name: reg-name = *( unreserved / pct-encoded / sub-delims ) Bingo, zero or more characters, we pick zero. "smb://" is allowed, syntactically. But Claus only wrote that '"smb://" also does not fit into the generic SMB syntax', that's not the generic URI syntax. Frank
Received on Thursday, 11 January 2007 22:15:35 UTC