CCNx URI Scheme

  • Please refer to RFC 3986 (URI Generic Syntax) for background

  • The scheme identifier is "ccnx".

  • When producing a URI from a CCNx Name, only the generic URI unreserved characters are left unescaped. These are the US-ASCII upper and lower case letters (A-Z, a-z), digits (0-9), and the four specials PLUS (+), PERIOD (.), UNDERSCORE (_), and HYPHEN (-). All other characters are escaped using either the percent-encoding method of the URI Generic Syntax or a ccnx scheme specific hexadecimal string escape starting with the EQUALS (=) and an even number of characters from the set of hex digits. Once an EQUALS has been encountered in a component the hexadecimal encoding persists until the end of the component.

  • To unambiguously represent name components that would collide with the use of . and .. for relative URIs, any component that consists solely of zero or more periods is encoded using three additional periods. Note that this means the zero-length component is encoded as three periods "…".

  • The authority component (the part after the initial "//" in the familiar http and ftp URI schemes) is not really relevant to CCNx. It should normally not be present, and it is ignored if it is present.