Re:How many ways can you slice a URL and name the pieces?
by saurik on Friday August 26, 2011 @06:07PM
(#2930143)
I was somewhat disappointed that the author of this article left out URI "path parameters": semicolon-delimited name/value pairs that can be attached to each component of the slash-delimited path.
[ Parent
| on HN ]
Re:How many ways can you slice a URL and name the pieces?
by pyre on Friday August 26, 2011 @06:26PM
(#2930194)
The newer RFC (RFC 3986[1] from 2005, which I assume is being used here) for URIs doesn't specifically mention them in the spec. You have to go back to 1998 and rfc 2396[2].
RFC 3986 (circa 2005):
path = path-abempty ; begins with "/" or is empty
/ path-absolute ; begins with "/" but not "//"
/ path-noscheme ; begins with a non-colon segment
/ path-rootless ; begins with a segment
/ path-empty ; zero characters
path-abempty = *( "/" segment )
path-absolute = "/" [ segment-nz *( "/" segment ) ]
path-noscheme = segment-nz-nc *( "/" segment )
path-rootless = segment-nz *( "/" segment )
path-empty = 0<pchar>
segment = *pchar
segment-nz = 1*pchar
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
; non-zero-length segment without any colon ":"
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
RFC 2396 (circa 1998): path = [ abs_path | opaque_part ]
path_segments = segment *( "/" segment )
segment = *pchar *( ";" param )
param = *pchar
pchar = unreserved | escaped |
":" | "@" | "&" | "=" | "+" | "$" | ","
IIRC, somewhere in RFC 3986 it alludes to the fact that you could still do something like that, but it would be scheme-specific, and not part of the URI spec.Also of note is that pipes ("|") are no longer even mentioned in RFC 3986, but they were characterized as 'unwise' in 1998.
RFC 2396:
unwise = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
[1] http://www.apps.ietf.org/rfc/rfc3986.html#sec-3.3