Saltu al enhavo

URN

El Vikipedio, la libera enciklopedio
Por samtitola artikolo vidu la paĝon URN (apartigilo).

URN signifas unuforma risurca nomo (angle Uniform Resource Name). Ĝ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

[redakti | redakti fonton]

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[1] 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.

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

[redakti | redakti fonton]

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

[redakti | redakti fonton]

Ĉi tiuj URN-oj enhavas en NID la nomon de la krado (angle hash) 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:

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:dc38ce741d9c8be87a0d715fad951460c5299da2447c3fa8f1057b560f9253c7a017882dcc2390ab602c3b0f5fcf066d6d35f32ffa9b8e5557e1d2f619506873
ripemd160 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

[redakti | redakti fonton]
  • 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:oid:2.16.643
  • URN de konkreta MP3-dosiero identigata per haketkodo (angle hash code) 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ŭ

[redakti | redakti fonton]

Referencoj

[redakti | redakti fonton]

Eksteraj ligiloj

[redakti | redakti fonton]