URN (англ. Uniform Resource Name) — уніфікована назва (ім'я) ресурсу. На англійський манер вимовляється як слово earn, українською частіше говорять [ у-ер-ен ]. URN — це постійна послідовність символів, що ідентифікує абстрактний або фізичний ресурс. URN є частиною концепції URI (англ. Uniform Resource Identifier) — уніфікованих ідентифікаторів ресурсу. Імена URN покликані в майбутньому замінити локатори URL (англ. Uniform Resource Locator) — уніфіковані визначники місцезнаходження ресурсів. Але імена URN, на відміну від URL, не включають в себе вказівки на місцезнаходження та спосіб звернення до ресурсу. Стандарт URN спеціально розроблений так, щоб він міг включати в себе інші простори назв.
Основна ідея
Ідея URN виникла внаслідок істотних недоліків системи URL. Ресурси у Всесвітній павутині і Інтернеті переміщуються, а посилання у вигляді URL залишаються, вказуючи на вже відсутні ресурси. Старі URL також робляться непотрібними при реструктуризації ресурсів, перейменуванні, видаленні, переміщенні в інший домен DNS. Для вирішення цієї проблеми була розроблена ефективна система (англ. Persistent Uniform Resource Locator — постійний URL), зараз широко використовувана, а також система DOI (англ. Digital Object Identifier — ідентифікатор цифрового об'єкта). Але це все ж лише часткові вирішення проблеми. Принциповим же рішенням повинен стати стандарт уніфікованого іменування ресурсів URN. URN вказує незмінне ім'я ресурсу без зазначення його місцезнаходження і способу звернення. В результаті URN-імена постійні, вони не залежать від конкретних серверів і протоколів. Іншими словами, URN концептуально позначає сам ресурс , а не місце, де знаходиться якийсь ресурс (а може, вже не знаходиться), як це робить URL. Наприклад, є людина на ім'я Михайло Петренко, який живе в Києві за адресою вул. Земляний вал, 14. Якщо хтось запитає його: «Ви хто?», Він, зрозуміло, відповість «Я — Михайло Петренко». Адже він не скаже: «Я людина, що живе на Земляному валу, 14». Так от URN ідентифікує людину як «Михайло Петренко», а URL лише повідомляє, що хтось живе за адресою вул. Земляний вал, 14 (а може там знаходиться і організація … URL цього не повідомляє).
Для знаходження ресурсів за URN-іменем потрібна «система розв'язання URN-імен» (англ. URN resolution). Тоді людина (або програма), що знає точний URN ресурсу, введе його в систему розв'язання і негайно отримає безліч конкретних місць ( або, скажімо, інтернет- магазинів), де цей ресурс можна знайти. В 2002 році була запропонована система [en], яка розв'язує імена URN в URL- посилання на конкретні місцезнаходження ресурсів. При цьому і URN, і URL є частиною однієї системи ідентифікації ресурсів URI.
Історія
В 1994 році вийшов запит RFC 1737, в якому описувалися концептуальні та функціональні вимоги до розробки URN. Сама ідея URN народилася дещо раніше, але до 1994 року не була ніяк сформульована. Після виходу RFC 1737 було витрачено дуже багато часу і зусиль на розробку URN. Робоча група URN при IETF (англ. Internet Engineering Task Force) включає в себе дуже багато зацікавлених сторін (включаючи великі конкуруючі компанії), тому досягнення загальної згоди представляється дуже складним. Тим не менш, вже в травні 1997 року вийшла специфікація RFC 2141, що описує першу версію синтаксису URN. Хоча розробка URN ще далеко не завершена, і досягти консенсусу з усіх питань поки не вдалося, але базові риси URN вимальовуються вже досить чітко.
В 1999 році був опублікований запит коментарів RFC 2483, який в загальних рисах описував систему дозволу URN-імен. У жовтні 2002 року вийшла ціла серія документів: RFC 3401, RFC 3402, RFC 3403, RFC 3404, RFC 3405. У цих документах визначалася система дозволу URN-імен DDDS (див. Вище) — Останнім необхідна ланка для впровадження URN. Приблизно в той же час вийшла і специфікація RFC 3406, уточнююча специфікацію просторів імен URN.
В даний час застосування URN набуло вже значних масштабів. Імена URN стали невід'ємною частиною розширюваної мови розмітки XML. Все частіше і частіше URN реалізуються в популярному програмному забезпеченні. Хоча до того моменту, коли URN витіснять URL, мабуть, ще далеко, але вже зараз можна сказати, що перспективи у URN відмінні. URN безсумнівно стане універсальним стандартом іменування ресурсів.
Структура URN
Єдині технічні імена ресурсів мають наступну структуру:
<URN> ::= "urn:" <NID> ":" <NSS>
У цьому записі:
- <NID>
- ідентифікатор простору імен (англ. Namespace Identifier); являє собою синтаксичну інтерпретацію NSS, не чутливий до регістру.
- <NSS>
- рядок з певного простору імен (англ. Namespace Specific String); якщо в цьому рядку містяться символи не з набору ASCII, то вони повинні бути закодовані в Юникоді (UTF-8) і попереджені (кожен з них) знаком відсотка «%» (докладніше див. URL).
При цьому початкова послідовність символів " urn: " не чутлива до регістру. А ідентифікатори простору назв «urn» і «URN» заборонені взагалі, щоб не виникло плутанини з цим початковим рядком "urn: ".
URN, що самоідентифікується
Ці URN містять в NID назва хешу, що використовується для їх створення. NSS містить значення цього хешу, обчисленого з даних ідентифіковуваного об'єкта (файлу). Такі URN отримують властивості хешів, тобто для даних може бути створено безліч різних URN, але кожен URN може ідентифікувати тільки один набір даних (файл).
Такі URN використовуються:
- У складі magnet-посилання;
- В HTTP — заголовку X-Content-URN, запропонованому в " HTTP Extensions for a Content-Addressable Web " і який знайшов застосування в p2p — мережі Gnutella2;
- Згідно RFC 2169 в Gnutella2 використовуються URL — посилання, які також містять такий URN.
NID | Розрядність | Кодування | Приклад |
---|---|---|---|
tree: tiger | 192 | Base32 | Urn: tree: tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY |
Sha1 | 160 | Base32 | Urn: sha1:XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 |
(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 |
160 | Base32 | Urn: aich: wbtmcm2wrbndylixh3jmwsg4uowzjcqm | |
Whirlpool | 512 | Hex | urn: whirlpool: dc38ce741d9c8be87a0d715fad951460c5299da2447c3fa8f1057b560f9253c7a017882dcc2390ab602c3b0f5fcf066d6d35f32ffa9b8e5557e1d2f619506873 |
ripemd160 | 160 | Hex | Urn: ripemd160:93f1cb4a43643136d730a3b94b0ebcec66928c02 |
256 | Hex | Urn: gost:906fd73511810bafdaa33c05b9957b07edd8dca9b6982c04a86f6c642eb6b062 | |
160 | Hex | Urn: has160:85c292d359574b89985b2667c9725edb1c7d12fc | |
128 | Hex | Urn: snefru128:646b932fee2529db11d05425cff21978 | |
256 | Hex | Urn: snefru256:35879fc03ca60db551fa26ce8be6a6a04d542cf5a635ab203f95c6f1affb59a6 |
Приклади URN
- URN книги, ідентифікованої номером ISBN
urn: isbn:5170224575
- URN технічної специфікації RFC 3406 (англ. Request For Comments — запит коментарів, див. RFC) організації «IETF»
urn: ietf: rfc:3406
urn: oid:2.16.804
urn: sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
- URN, що ідентифікує ресурс через ідентифікатор UUID (версії 1)
urn: uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
urn: tree: tiger: SLW7H5LWXRCK3WFX5USVWIUYCOLSBTZRYGCAOJY
В показаних прикладах «isbn», «ietf», «oid», «sha1», «uuid» і «tree» — це простори імен, т. зв. <NID> (Див. Вище), а рядки за другою двокрапкою — це <NSS>.
Див. також
Примітки
- . Архів оригіналу за 28 липня 2011. Процитовано 13 червня 2015.
- . Архів оригіналу за 21 квітня 2015. Процитовано 13 червня 2015.
- . Архів оригіналу за 15 червня 2015. Процитовано 13 червня 2015.
Посилання
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
URN angl Uniform Resource Name unifikovana nazva im ya resursu Na anglijskij maner vimovlyayetsya yak slovo earn ukrayinskoyu chastishe govoryat u er en URN ce postijna poslidovnist simvoliv sho identifikuye abstraktnij abo fizichnij resurs URN ye chastinoyu koncepciyi URI angl Uniform Resource Identifier unifikovanih identifikatoriv resursu Imena URN poklikani v majbutnomu zaminiti lokatori URL angl Uniform Resource Locator unifikovani viznachniki misceznahodzhennya resursiv Ale imena URN na vidminu vid URL ne vklyuchayut v sebe vkazivki na misceznahodzhennya ta sposib zvernennya do resursu Standart URN specialno rozroblenij tak shob vin mig vklyuchati v sebe inshi prostori nazv Osnovna ideyaIdeya URN vinikla vnaslidok istotnih nedolikiv sistemi URL Resursi u Vsesvitnij pavutini i Interneti peremishuyutsya a posilannya u viglyadi URL zalishayutsya vkazuyuchi na vzhe vidsutni resursi Stari URL takozh roblyatsya nepotribnimi pri restrukturizaciyi resursiv perejmenuvanni vidalenni peremishenni v inshij domen DNS Dlya virishennya ciyeyi problemi bula rozroblena efektivna sistema angl Persistent Uniform Resource Locator postijnij URL zaraz shiroko vikoristovuvana a takozh sistema DOI angl Digital Object Identifier identifikator cifrovogo ob yekta Ale ce vse zh lishe chastkovi virishennya problemi Principovim zhe rishennyam povinen stati standart unifikovanogo imenuvannya resursiv URN URN vkazuye nezminne im ya resursu bez zaznachennya jogo misceznahodzhennya i sposobu zvernennya V rezultati URN imena postijni voni ne zalezhat vid konkretnih serveriv i protokoliv Inshimi slovami URN konceptualno poznachaye sam resurs a ne misce de znahoditsya yakijs resurs a mozhe vzhe ne znahoditsya yak ce robit URL Napriklad ye lyudina na im ya Mihajlo Petrenko yakij zhive v Kiyevi za adresoyu vul Zemlyanij val 14 Yaksho htos zapitaye jogo Vi hto Vin zrozumilo vidpovist Ya Mihajlo Petrenko Adzhe vin ne skazhe Ya lyudina sho zhive na Zemlyanomu valu 14 Tak ot URN identifikuye lyudinu yak Mihajlo Petrenko a URL lishe povidomlyaye sho htos zhive za adresoyu vul Zemlyanij val 14 a mozhe tam znahoditsya i organizaciya URL cogo ne povidomlyaye Dlya znahodzhennya resursiv za URN imenem potribna sistema rozv yazannya URN imen angl URN resolution Todi lyudina abo programa sho znaye tochnij URN resursu vvede jogo v sistemu rozv yazannya i negajno otrimaye bezlich konkretnih misc abo skazhimo internet magaziniv de cej resurs mozhna znajti V 2002 roci bula zaproponovana sistema en yaka rozv yazuye imena URN v URL posilannya na konkretni misceznahodzhennya resursiv Pri comu i URN i URL ye chastinoyu odniyeyi sistemi identifikaciyi resursiv URI IstoriyaV 1994 roci vijshov zapit RFC 1737 v yakomu opisuvalisya konceptualni ta funkcionalni vimogi do rozrobki URN Sama ideya URN narodilasya desho ranishe ale do 1994 roku ne bula niyak sformulovana Pislya vihodu RFC 1737 bulo vitracheno duzhe bagato chasu i zusil na rozrobku URN Robocha grupa URN pri IETF angl Internet Engineering Task Force vklyuchaye v sebe duzhe bagato zacikavlenih storin vklyuchayuchi veliki konkuruyuchi kompaniyi tomu dosyagnennya zagalnoyi zgodi predstavlyayetsya duzhe skladnim Tim ne mensh vzhe v travni 1997 roku vijshla specifikaciya RFC 2141 sho opisuye pershu versiyu sintaksisu URN Hocha rozrobka URN she daleko ne zavershena i dosyagti konsensusu z usih pitan poki ne vdalosya ale bazovi risi URN vimalovuyutsya vzhe dosit chitko V 1999 roci buv opublikovanij zapit komentariv RFC 2483 yakij v zagalnih risah opisuvav sistemu dozvolu URN imen U zhovtni 2002 roku vijshla cila seriya dokumentiv RFC 3401 RFC 3402 RFC 3403 RFC 3404 RFC 3405 U cih dokumentah viznachalasya sistema dozvolu URN imen DDDS div Vishe Ostannim neobhidna lanka dlya vprovadzhennya URN Priblizno v toj zhe chas vijshla i specifikaciya RFC 3406 utochnyuyucha specifikaciyu prostoriv imen URN V danij chas zastosuvannya URN nabulo vzhe znachnih masshtabiv Imena URN stali nevid yemnoyu chastinoyu rozshiryuvanoyi movi rozmitki XML Vse chastishe i chastishe URN realizuyutsya v populyarnomu programnomu zabezpechenni Hocha do togo momentu koli URN vitisnyat URL mabut she daleko ale vzhe zaraz mozhna skazati sho perspektivi u URN vidminni URN bezsumnivno stane universalnim standartom imenuvannya resursiv Struktura URNYedini tehnichni imena resursiv mayut nastupnu strukturu lt URN gt urn lt NID gt lt NSS gt U comu zapisi lt NID gt identifikator prostoru imen angl Namespace Identifier yavlyaye soboyu sintaksichnu interpretaciyu NSS ne chutlivij do registru lt NSS gt ryadok z pevnogo prostoru imen angl Namespace Specific String yaksho v comu ryadku mistyatsya simvoli ne z naboru ASCII to voni povinni buti zakodovani v Yunikodi UTF 8 i poperedzheni kozhen z nih znakom vidsotka dokladnishe div URL Pri comu pochatkova poslidovnist simvoliv urn ne chutliva do registru A identifikatori prostoru nazv urn i URN zaboroneni vzagali shob ne viniklo plutanini z cim pochatkovim ryadkom urn URN sho samoidentifikuyetsyaCi URN mistyat v NID nazva heshu sho vikoristovuyetsya dlya yih stvorennya NSS mistit znachennya cogo heshu obchislenogo z danih identifikovuvanogo ob yekta fajlu Taki URN otrimuyut vlastivosti heshiv tobto dlya danih mozhe buti stvoreno bezlich riznih URN ale kozhen URN mozhe identifikuvati tilki odin nabir danih fajl Taki URN vikoristovuyutsya U skladi magnet posilannya V HTTP zagolovku X Content URN zaproponovanomu v HTTP Extensions for a Content Addressable Web i yakij znajshov zastosuvannya v p2p merezhi Gnutella2 Zgidno RFC 2169 v Gnutella2 vikoristovuyutsya URL posilannya yaki takozh mistyat takij URN NID Rozryadnist Koduvannya Priklad tree tiger 192 Base32 Urn tree tiger 7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY Sha1 160 Base32 Urn sha1 XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 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 160 Base32 Urn aich wbtmcm2wrbndylixh3jmwsg4uowzjcqm Whirlpool 512 Hex urn whirlpool dc38ce741d9c8be87a0d715fad951460c5299da2447c3fa8f1057b560f9253c7a017882dcc2390ab602c3b0f5fcf066d6d35f32ffa9b8e5557e1d2f619506873 ripemd160 160 Hex Urn ripemd160 93f1cb4a43643136d730a3b94b0ebcec66928c02 256 Hex Urn gost 906fd73511810bafdaa33c05b9957b07edd8dca9b6982c04a86f6c642eb6b062 160 Hex Urn has160 85c292d359574b89985b2667c9725edb1c7d12fc 128 Hex Urn snefru128 646b932fee2529db11d05425cff21978 256 Hex Urn snefru256 35879fc03ca60db551fa26ce8be6a6a04d542cf5a635ab203f95c6f1affb59a6Prikladi URNURN knigi identifikovanoyi nomerom ISBN urn isbn 5170224575 URN tehnichnoyi specifikaciyi RFC 3406 angl Request For Comments zapit komentariv div RFC organizaciyi IETF urn ietf rfc 3406 URN Ukrayini viznachenoyi za kodom OID urn oid 2 16 804 URN konkretnogo fajlu MP3 identifikovanogo hesh kodom za algoritmom SHA1 urn sha1 YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C URN sho identifikuye resurs cherez identifikator UUID versiyi 1 urn uuid 6e8bc430 9c3a 11d9 9669 0800200c9a66 URN konkretnogo fajlu AVI identifikovanogo hesh kodom za algoritmom TTH urn tree tiger SLW7H5LWXRCK3WFX5USVWIUYCOLSBTZRYGCAOJY V pokazanih prikladah isbn ietf oid sha1 uuid i tree ce prostori imen t zv lt NID gt Div Vishe a ryadki za drugoyu dvokrapkoyu ce lt NSS gt Div takozhURI URL DOI XML TTHPrimitki Arhiv originalu za 28 lipnya 2011 Procitovano 13 chervnya 2015 Arhiv originalu za 21 kvitnya 2015 Procitovano 13 chervnya 2015 Arhiv originalu za 15 chervnya 2015 Procitovano 13 chervnya 2015 PosilannyaRFC 2141 Sintaksis URN RFC 1737 Funkcionalni vimogi do URN RFC 2483 Sistemi dozvolu URI dlya URN RFC 3406 Viznachennya prostoriv imen dlya URN RFC 3986 STD 66 Specifikaciya URI Prostori nazv URN zareyestrovani v IANA 28 bereznya 2010 u Wayback Machine