URN

URN signifas unuforma risurca nomo (). Ĝi estas sekvo de signoj identiganta abstraktan aŭ fizikan risurcon. URN estas parto de la koncepto pri URI. URN-oj estas destinitaj anstataŭigi iam URL-ojn. Sed URN-oj, distinge de URL-oj, ne inkludas indikojn pri situo kaj kontaktmaniero de la risurco. La normo pri URN estas intence verkita tiel ke ĝi povu inkludi aliajn nomspacojn.

 Baza ideo 
La ideo pri URN aperis pro esencaj mankoj en la sistemo de URL. Risurcoj en la Tut-Tera Teksaĵo kaj Interreto translokiĝas, dum ligiloj en la formo de URL-oj restas kaj montras al jam forestantaj risurcoj. Malnovaj URL-oj iĝas neuzeblaj ankaŭ kaze de restrukturigo de risurcoj, alinomigo, forigo, translokigo al alia domajna nomo. Cele al solvo de ĉi tiu problemo estis ellaborita la interesa kaj efika sistemo PURL (persista unuforma risurca lokindiko) nun jam vaste uzata, kaj ankaŭ la sistemo DOI (identigilo de cifera objekto). Sed tiuj tamen estas nur partaj solvoj de la problemo. Iĝi principa solvo devas la normo por unuforma titolado de risurcoj URN.

URN indikas neŝanĝeblan nomon de la risurco sen indiki ĝian situon kaj kontaktmanieron. Rezulte URN-oj estas absolute konstantaj, ili ne dependas de konkretaj serviloj kaj protokoloj. Alivorte, koncepte URN indikas la risurcon mem kaj ne lokon kie iu risurco situas (aŭ eble ne plu situas), kiel tion faras URL. Por ekzemplo ni imagu homon kun la nomo Mikaelo Petrov loĝantan en Moskvo ĉe la strato Kavaliero 14. Se iu demandos lin: «Kiu vi estas?», li memkompreneble respondos «Mi estas Mikaelo Petrov». Li ja ne diros «Mi estas homo loĝanta ĉe la strato Kavaliero 14». Do, URN identigas tiun homon kiel Mikaelon Petrov kaj URL nur informas ke iu loĝas ĉe la strato Kavaliero 14 (kaj eble tie situas ankaŭ organizaĵo… URL tion ne diras).

Por trovo de risurcoj surbaze de URN necesas sistemo por URN-resolvo. Tiam homo aŭ programo scianta precizan URN-on de iu risurco konsultos pri ĝi la resolvan sistemon kaj senprokraste ricevos ampleksan liston de konkretaj lokoj (serviloj aŭ ekzemple retbutikoj) kie tiu risurco estas trovebla. En la jaro 2002 estis proponita la sistemo por dinamika eltrovo de delegado kiu tradukas URN-ojn al URL-oj montrantaj al konkretaj situoj de risurcoj. Kaj ambaŭ URN kaj URL membras en la sistemo por identigo de risurcoj URI.

 Historio 
En 1994 aperis RFC 1737 kiu estis priskribanta konceptajn kaj funkciajn postulojn al ellaborado de URN. La ideo mem pri URN naskiĝis iom pli frue, sed antaŭ 1994 ne estis formulita. Post la apero de RFC 1737 oni elspezis por ellaboroado de URN tre multe da tempo kaj fortostreĉoj. La laborgrupo pri URN ĉe IETF inkludas tre multajn interesitajn flankojn (en tiu nombro konkurantajn kompaniojn), tial atingo de universala konkordo estas tre malfacila. Tamen jam en majo 1997 aperis RFC 2141 priskribanta la unuan version de la sintakso de URN. Ellaborado de URN estas ankoraŭ tute ne finita kaj oni ankoraŭ ne atingis konsenton pri ĉiuj demandoj, sed bazaj trajtoj de URN videblas jam sufiĉe klare.

En 1999 estis publikigita RFC 2483 kiu estis ĝenerale skizanta la sistemon por URN-resolvo. En oktobro 2002 aperis kelkaj dokumentoj: RFC 3401, RFC 3402, RFC 3403, RFC 3404, RFC 3405. En ili estis difinata la sistemo por resolvo de URN-oj DDDS, kiu estis la lasta nepra parto por enkonduko de URN. Proksimume samtempe aperis RFC 3406 preciziganta la specifon pri la nomspacoj de URN.

Nun aplikado de URN atingis signifan skalon. URN-oj iĝis nedeprenebla parto de la markolingvo XML. Ĉiam pli kaj pli ofte URN-oj estas efektivigataj en populara programaro. Tiu momento, kiam URN-oj komplete anstataŭigos URL-ojn, ankoraŭ estas malproksima, sed jam nun eblas diri ke URN havas bonegajn perspektivojn. URN sendube iĝos universala normo por nomi risurcojn.

 Strukturo de URN 
Unuformaj risurcaj nomoj havas la jenan strukturon:
 <URN> ::= "urn:" <NID> ":" <NSS>

En ĉi tiu rikordo estas:
 <NID>  nomspaca identigilo; prezentas per si sintaksan interpreton de NSS, ne dependas de uskleco.
 <NSS>  nomspac-specifa strio; se ĝi entenas ne-askiajn signojn, ili devas esti koditaj per UTF-8, kun la signo de procento antaŭ la kodo de ĉiu signo (por pliaj detaloj vidu URL).

La komenca strio "urn:" ne dependas de uskleco. Kaj nomspacaj identigiloj «urn» kaj «URN» estas entute malpermesitaj por eviti konfuzon kun tiu komenca strio.

 Sinidentiga URN 
Ĉi tiuj URN-oj enhavas en NID la nomon de la krado () uzata por ilia kreo. NSS enhavas signifon de tiu krado kalkulita surbaze de la datumo de la identigata objekto (dosiero). Tiaj URN-oj ricevas ecojn de kradoj t. e. oni povas krei por la datumo multajn diversajn URN-ojn sed ĉiu URN povas identigi nur unu pecon de datumo (dosieron).

Tiaj URN-oj estas uzataj:
 ene de .
 en HTTP-titolo X-Content-URN de la proponitaj «HTTP-etendaĵoj por enhav-adresebla TTT»HTTP Extensions for a Content-Addressable Web trovinta aplikon en p2p-reto Gnutella2.
 laŭ RFC 2169RFC2169 - A Trivial Convention for using HTTP in URN Resolution en Gnutella2 uzataj estas URL-ligoj kiuj ankaŭ enhavas tian URN-on.

 NID Bitnombro Signaro Ekzemplo tree:tiger 192 Base32 urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY sha1 160 Base32 urn:sha1:XRX2PEFXOOEJFRVUĈ6HMZMKS5TWG4K5 btih 160 Base32 urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q ed2k 128 Hex urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1 md5 128 Hex urn:md5:834CEF60EF3FD47162420FA25ABF2DFF md4 128 Hex urn:md4:bbd810ee7731921c4582daa00bbc531e tiger 192 Hex urn:tiger:cf13102788e1e6ef6124cb9ca9ef879e4bb04c58fe297dd3 aich 160 Base32 urn:aich:wbtmcm2wrbndylixh3jmwsg4uowzjcqm whirlpool 512 Hex urn:whirlpool:dc38ce741d9c8be87a0d715fad951460c5299da2447c3fa8f1057b560f9253c7a017882dcc2390ab602c3b0f5fcf066d6d35f32ffa9b8e5557e1d2f619506873ripemd160 160 Hex urn:ripemd160:93f1cb4a43643136d730a3b94b0ebcec66928c02 gost 256 Hex urn:gost:906fd73511810bafdaa33c05b9957b07edd8dca9b6982c04a86f6c642eb6b062 has160 160 Hex urn:has160:85c292d359574b89985b2667c9725edb1c7d12fc snefru128 128 Hex urn:snefru128:646b932fee2529db11d05425cff21978 snefru256 256 Hex urn:snefru256:35879fc03ca60db551fa26ce8be6a6a04d542cf5a635ab203f95c6f1affb59a6

 Ekzemploj de URN-oj 
 URN de libro identigata per ISBN
 urn:isbn:5170224575
 URN de teknika specifo RFC 3406 (vidu RFC) de la organizaĵo «IETF»
 urn:ietf:rfc:3406
 URN de Rusio difinita laŭ OID-kodoOID Repository 
 urn:oid:2.16.643
 URN de konkreta MP3-dosiero identigata per haketkodo () laŭ la algoritmo SHA1
 urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
 URN identiganta risurcon pere de UUID-identigilo (de versio 1)
 urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
 URN de konkreta AVI-dosiero identigata per haketkodo laŭ la algoritmo TTH
 urn:tree:tiger:SLW7H5LWXRCK3WFX5USVWIUYCOLSBTZRYGCAOJY

En la montritaj ekzemploj «isbn», «ietf», «oid», «sha1», «uuid» kaj «tree» estas nomspacoj, t. n. <NID> (vidu supre), kaj la strioj post la dua dupunkto estas <NSS>.

 Vidu ankaŭ 
 URI
 URL




 XML


 Referencoj 

 Eksteraj ligiloj 

 RFC 2141 — sintakso de URN
 RFC 1737 — funkciaj postuloj al URN
 RFC 2483 — sistemoj de URI-resolvo por URN
 RFC 3406 — difino de nomspacoj por URN
 RFC 3986 / STD 66 — specifo pri URI
 Laborgrupo pri URN en IETF
 Nomspacoj de URN, registritaj en IANA

Kategorio:Interretaj normoj
Kategorio:Telekomunikado
Kategorio:Konvencioj pri nomigo
Kategorio:Notacio
Kategorio:Klasifikaj sistemoj