Uniform Resource Name
Un Uniform Resource Name o URN è un URI che identifica una risorsa all'interno di un namespace, ma, a differenza dell'URL, non permette l'identificazione della locazione della risorsa stessa. Un esempio di URN è il codice ISBN: questo identifica univocamente un libro, ma non ci dà alcuna informazione sulla locazione dello stesso[1][2].
Sintassi
modifica wikitestoLa sintassi di uno schema URIurn:
è rappresentata nella Backus-Naur Form
namestring = assigned-name [ rq-components ] [ "#" f-component ] assigned-name = "urn" ":" NID ":" NSS NID = (alphanum) 0*30(ldh) (alphanum) ldh = alphanum / "-" NSS = pchar *(pchar / "/") rq-components = [ "?+" r-component ] [ "?=" q-component ] r-component = pchar *( pchar / "/" / "?" ) q-component = pchar *( pchar / "/" / "?" ) f-component = fragment ; regole generiche sintattiche URI (RFC3986) fragment = *( pchar / "/" / "?" ) pchar = unreserved / pct-encoded / sub-delims / ":" / "@" pct-encoded = "%" HEXDIG HEXDIG unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" alphanum = ALPHA / DIGIT ; obsoleto
oppure, sotto forma di diagramma di sintassi, come:
- Lo schema principale (
urn:
) non fa distinzione tra maiuscole e minuscole. <NID>
è l'identificatore del namespace e può includere lettere, cifre e-
.- Il NID è seguito dalla stringa specifica del namespace
<NSS>
, la cui interpretazione dipende dal namespace specificato. L'NSS può contenere lettere e cifre ASCII e molti segni di punteggiatura e caratteri speciali. I caratteri ASCII e Unicode non consentiti possono essere inclusi se codificati in percentuale.
Nel 2017 è stata aggiornata la sintassi per gli URN[5]:
- Il carattere barra (
/
) in questo caso è consentito in NSS per rappresentare nomi contenenti barre da sistemi di identificazione non URN. - Il componente q è stato aggiunto per consentire il passaggio di parametri alle risorse nominate.
- Il componente r è stato aggiunto per consentire il passaggio di parametri ai resolver. Tuttavia, la specifica aggiornata rileva che non dovrebbe essere utilizzata fino a quando la sua semantica non sarà definita tramite un'ulteriore standardizzazione.
Namespace
modifica wikitestoAl fine di garantire l'unicità globale dei namespace URN, i loro identificatori (NID) devono essere registrati presso lo IANA. I namespace registrati possono essere "formali" o "informali". Un'eccezione al requisito di registrazione è stata precedentemente fatta per "namespace sperimentali", in quanto annullato dalla RFC 8141[6][1].
Formale
modifica wikitestoSono stati registrati circa sessanta identificatori formali dei namespace URN. Si tratta di namespace in cui ci si aspetta che gli utenti di Internet traggano vantaggio dalla loro pubblicazione e sono soggetti a diverse restrizioni[5][6]. Essi devono:
- Non essere un NID già registrato
- Non iniziare con
urn-
- Essere più di due lettere
- Non iniziare con
XY-
, dove XY è una combinazione di due lettere ASCII - Non iniziare con
x-
Informale
modifica wikitestoI namespace informali sono registrati con IANA e assegnati a una sequenza numerica (scelta da IANA in base all'ordine di arrivo) come identificatore, nel formato[5]:
"urn-" <number>
I namespace informali sono namespace URN completi e possono essere registrati nei servizi di registrazione globali.
Sperimentale
modifica wikitestoUn'eccezione al requisito di registrazione è stata precedentemente fatta per i "namespace sperimentali". Tuttavia, in seguito alla deprecazione della notazione "X-" per i nuovi namespace di tipo identificatore, RFC 8141 ha eliminato i namespace URN sperimentali, indicando una preferenza per l'uso del namespaceurn:example
ove appropriato[5][7].
Esempi
modifica wikitestoURN | corrisponde a |
---|---|
urn:isbn:0451450523 | Il libro del 1968 The Last Unicorn, identificato dal suo numero di libro. |
urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y | Il film del 2002 Spider-Man, identificato dal suo numero audiovisivo. |
urn:ISSN:0167-6423 | La rivista scientifica Science of Computer Programming, identificata dal suo numero di serie. |
urn:ietf:rfc:2648 | La RFC 2648 dell'IETF. |
urn:mpeg:mpeg7:schema:2001 | Le regole del namespace predefinite per i metadati video MPEG-7[8]. |
urn:oid:2.16.840 | L'OID per gli Stati Uniti. |
Altri progetti
modifica wikitesto- Wikimedia Commons contiene immagini o altri file su Uniform Resource Name
Controllo di autorità | GND (DE) 7694957-6 |
---|