Ask HN: Why are URNs not more popular?
There is only a marginal benefit in using &quot;<i>urn:foo:...</i>&quot; over &quot;<i>foo:...</i>&quot;, namely making it clear that it is only intended to represent a name and not a locator. That benefit is marginal because without knowing the spec for <i>foo</i>, you can&#x27;t really do much with the knowledge that it is a URN. Without knowing the spec, you can&#x27;t even compare URN values to check if they represent the same name (e.g. ISBN URNs may or may not contain hyphens, and there are equivalent ISBN-10 and ISBN-13 numbers).<p>Conversely, there are non-URN URI schemes that still represent only names (like <i>doi</i>), and there are URL schemes that, despite the &quot;L&quot;, are also used for non-locator names (the <i>http</i> scheme in particular, e.g. in RDF and for XML namespaces). So it&#x27;s all a wash.<p>In either case (URN or non-URN), you would have to register the URN namespace or the URI scheme, if you want to use it publicly. Often <i>http</i> is used instead, where the domain name serves the role of the namespace, because usually a suitable domain name is already registered. Of course, this latter practice has the drawback that one has to infer from context that it is a name and not an HTTP web resource.<p>Unfortunately, dots are not allowed in NIDs. Otherwise it would have been possible to introduce the free use of &quot;<i>urn:&lt;domain name&gt;:...</i>&quot; (for non-TLDs that otherwise don&#x27;t conflict with the NID naming rules).