In [[W3C]] terms, a [[Uniform Resource Name]] ([[URN]]) is a persistent and location-independent identifier for a resource on the web. It is a type of Uniform Resource Identifier (URI) that is specifically used to provide an enduring and globally unique name for resources.
Unlike [[URL|URLs]] (Uniform Resource Locators), which specify the location of a resource on the web, URNs do not provide information about where to find the resource. Instead, they serve as long-lasting identifiers that can be used to reference resources even if their location changes over time.
URNs are designed to be globally unique, meaning no two resources should have the same URN. They typically consist of three main parts: a prefix that indicates it is a URN, a namespace identifier that defines the scope or authority of the URN, and a specific identifier within that namespace.
# URN and Content Addressable Scheme?
URN (Uniform Resource Name) and IPFS's Content Addressable Scheme are both used for identifying and locating resources on the internet, but they have some key differences:
1. Purpose: URN is primarily used for providing a persistent and location-independent identifier for resources. It aims to ensure that the identifier remains valid even if the resource's location changes. On the other hand, IPFS's Content Addressable Scheme focuses on content-based addressing, allowing users to retrieve data based on its content rather than its location.
2. Identification mechanism: URN uses a hierarchical naming system, similar to URLs (Uniform Resource Locators), to identify resources. It typically includes a namespace identifier followed by a specific name within that namespace. In contrast, IPFS's Content Addressable Scheme uses cryptographic hash functions (such as SHA-256) to generate a unique hash value based on the content of the resource. This hash value acts as the identifier.
3. Location independence: URN emphasizes location independence by separating identification from retrieval. It allows resources to be moved or replicated without changing their identifiers. IPFS also provides location independence by addressing content instead of locations, allowing efficient retrieval even if multiple copies of the same data exist in different locations.
4. Persistence: URN aims to provide long-term persistence for resource identification, ensuring that identifiers remain valid over time even if resources change their locations or availability. IPFS also offers persistence through its distributed and decentralized nature, where files are stored across multiple nodes in the network.
5. Standardization: URN is an established standard defined by the Internet Engineering Task Force (IETF). It has specific guidelines and namespaces defined for various types of resources. On the other hand, IPFS's Content Addressable Scheme is part of the larger IPFS protocol but does not have a separate standardization process specifically dedicated to it.
In summary, URN focuses on providing persistent and location-independent identifiers for resources, while IPFS's Content Addressable Scheme emphasizes content-based addressing and efficient retrieval. Both serve different purposes and have distinct mechanisms for identification and location independence.
# Conclusion
W3C recognizes URNs as an important component of web architecture and provides guidelines for their creation and usage. They promote the use of URNs for persistent identification of resources, allowing for more reliable referencing and linking between web resources.