Uniform Resource Name

Et **uniformt ressursnavn** (**URN**, engelsk: *«Uniform Resource Name»*) er en URI som er globalt unik og varig, selv om informasjon om ressursen ikke eksisterer eller ikke lenger er tilgjengelig på internettet.

Formålet med URN er å tilby en globalt unik og varig identifikator, som kan brukes for gjenkjennelse av en ressurs, tilgang til en ressurs' egenskaper eller for tilgang til selve ressursen.

URN-er er del av en større Internett-arkitektur, hvor Uniform Resource Characteristics (URC-er), Uniform Resource Locators (URL-er) og URNer hver utgjør medlemmene. Hver har sin spesifikke rolle i denne arkitekturen:
* URN-er brukes for identifisering
* URC-er for å inkludere metainformasjon
* URL-er brukes for lokalisering av ressursen. 

## Funksjonelle krav
RFC 1737 definerer et sett med funksjonelle krav til URN

* **Globalt navnerom** – En URN er et navn med global dekning, som ikke antyder noe fysisk eller logisk plassering av ressursen. Den har samme betydning over alt.
* **Global unikhet** – Den samme URNen skal aldri tilegnes til to eller flere forskjellige ressurser.
* **Varighet** – En URN er permanent og har ingen begrenset levetid. Det er tiltenkt at en URN skal være unik til evig tid, og at den skal kunne benyttes som en referanse til en ressurs langt utover levetiden til selve ressursen den identifiserer, eller navneautoriteten som tilegnet navnet.
* **Skalerbarhet** – URNer kan tilegnes til ressurser som man kan se for seg skal være tilgjengelig i nettverket for hundrevis av år.
* **Bakoverkompatibilitet** – Skjemaet må tilby støtte for eksisterende navngivingssystemer, så framt de oppfyller de andre kravene beskrevet i URNs funksjonelle krav. Et eksempel på system som dette kan omfavne er f.eks ISBN.
* **Utvidbarhet** – Etthvert URN-skjema må tillate fremtidig utvidelse av skjemaet.
* **Uavhengighet** – Det er navneautoriteten, og kun den som, har rett til å definere betingelser for utstedelse av et navn.
* **Oversetting** – En URN vil ikke forhindre oversetting av navn til lokator. Mer spesifikt betyr dette at for en URN som har en korresponderende URL, må det være en passende mekanisme for å oversette en URN til en URL.

## URN Syntaks
RFC 2141 (datert Mai 1997 og fremdeles klassifisert som med behov for diskusjon og forslag til forbedringer) beskriver i BNF-form syntax for URN slik:

    ::= "urn:"  ":" 

hvor  er **Namespace Identifier** (navneromidentifikator) og  er **Namespace Specific String** (navneromspesifikk streng). Deler angitt i hermetegn er betegnet som påkrevd. "urn:" er tillatt skrevet med både små og store bokstaver. Mao. er Urn:, uRn:, URN:, urn: alle tillatt.
Navneromsidentifikatoren bestemmer den syntaktiske tolkningen av den navneromspesifikke strengen.

## URN og IETF
Internet Engineering Task Force (IETF) har en arbeidsgruppe som har som mål å utarbeide ett rammeverk for URNer, samt et sett med komponenter som er tilpasset dette rammeverket.
Resultatet fra denne arbeidsgruppen er et sett med RFCer, hvor antageligvis de meste relevante er RFC 2611 – URN Namespace Definition Mechanisms, RFC 2141 – URN Syntax og RFC 2276 – Architectural Principles of Uniform Resource Name Resolution.

## Referanser