Read the assigned name and optional parts
02The assigned name is urn:NID:NSS. The namespace identifier selects the naming system, while the namespace-specific string supplies the name inside it.
The suffix #part is the f-component and ends at the end of the URN. Its presence does not change the assigned name urn:example:apple:pear.
Source for this drawing: RFC 8141 · Read RFC section 2 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Separate the assigned name from r-, q- and f-components before interpreting it.
- A namespace identifier (NID) has 2–32 ASCII letters, digits or hyphens and starts and ends with a letter or digit. Formal and informal namespace rules impose further constraints.
- The namespace-specific string (NSS) is nonempty, begins with a pchar URI character, and can then contain pchar characters or slashes. Its namespace defines any internal meaning.
- Optional components appear in order: ?+ introduces r, ?= introduces q, and # introduces f. A plain question mark outside those components SHOULD be treated as a syntax error by a URN-specific parser.
The drawing is a syntax decomposition, not proportional wire fields. pchar includes URI unreserved characters, percent triplets, sub-delimiters, colon and @. A colon or slash inside the NSS does not invent a universal hierarchy or a path-resolution algorithm. ASCII transport and namespace-aware construction are covered in the final chapter.
Read the RFC section ↗