URN ( English Uniform Resource Name ) - ett enhetligt namn (namn) på resursen. På engelska uttalas det som ordet earn, på ryska säger man ofta [ u-er-en ]. En URN är en konstant sekvens av tecken som identifierar en abstrakt eller fysisk resurs. URN är en del av konceptet URI ( English Uniform Resource Identifier ) – enhetliga resursidentifierare. URN:er är avsedda att ersätta URL -lokaliserare i framtiden . ) är enhetliga resurslokaliserare. Men URN:er, till skillnad från URL:er, innehåller inte indikationer om var och hur man kommer åt en resurs. URN-standarden är speciellt utformad för att inkludera andra namnutrymmen .
Idén om en URN uppstod från ett betydande fel i URL-systemet. Resurser på World Wide Web och Internet flyttas, men länkar i form av URL:er finns kvar som pekar på resurser som inte längre finns där. Gamla webbadresser görs också oanvändbara när man omstrukturerar resurser, byter namn, tar bort, flyttar till en annan DNS -domän . För att lösa detta problem utvecklades ett effektivt PURL-system ( Persistent Uniform Resource Locator ), som nu används i stor utsträckning, såväl som ett DOI -system ( Digital Object Identifier ) . Men dessa är fortfarande bara partiella lösningar på problemet. Den grundläggande lösningen bör vara standarden för enhetlig namngivning av URN-resurser.
URN:n anger resursens oföränderliga namn utan att specificera dess plats eller hur man refererar till den. Som ett resultat är URN:er permanenta, oberoende av specifika servrar och protokoll. Med andra ord, en URN refererar begreppsmässigt till själva resursen och inte till platsen där någon resurs finns (eller kanske inte redan finns), som URL:en gör. Låt oss säga att det finns en person som heter Mikhail Petrov som bor i Moskva vid st. Zemlyanoy Val, 14. Om någon frågar honom: "Vem är du?", Han kommer naturligtvis att svara "Jag är Mikhail Petrov." När allt kommer omkring kommer han inte att säga: "Jag är en person som bor på Zemlyanoy Val, 14." Så URN identifierar en person som "Mikhail Petrov", och URL:en rapporterar bara att någon bor på adressen till gatan. Zemlyanoy Val, 14 (kanske finns det också en organisation där... URL:en säger inte det).
För att hitta resurser efter URN-namn behöver du ett "URN-upplösningssystem" ( eng. URN-upplösning ). Sedan kommer en person (eller ett program ) som känner till resursens exakta URN att lägga in den i upplösningssystemet och omedelbart få en massa specifika platser ( servrar eller till exempel onlinebutiker ) där denna resurs kan hittas. 2002 föreslogs ett DDDS-system ( Dynamic Delegation Discovery System ) som löser URN :er till URL-länkar till specifika resursplatser. Både URN och URL är en del av samma URI-resursidentifieringssystem.
1994 utfärdades RFC 1737 , som beskrev de konceptuella och funktionella kraven för att utveckla en URN. Själva idén med URN föddes lite tidigare, men fram till 1994 formulerades den inte på något sätt. Sedan RFC 1737 släpptes har mycket tid och ansträngning lagts ner på att utveckla URN. IETF :s URN-arbetsgrupp ( Internet Engineering Task Force ) inkluderar så många intressenter (inklusive stora konkurrerande företag), så att nå enighet verkar vara mycket svårt. Men redan i maj 1997 publicerades RFC 2141- specifikationen , som beskrev den första versionen av URN-syntaxen. Även om utvecklingen av URN är långt ifrån avslutad, och det ännu inte har varit möjligt att nå konsensus i alla frågor, framträder redan grunddragen i URN ganska tydligt.
1999 publicerades RFC 2483 , som beskrev ett system för att lösa URN. I oktober 2002 släpptes en hel serie dokument: RFC 3401 , RFC 3402 , RFC 3403 , RFC 3404 , RFC 3405 . Dessa dokument definierade DDDS URN-upplösningssystemet (se ovan) - den sista nödvändiga länken för att implementera URN:er. Ungefär samtidigt släpptes RFC 3406- specifikationen , vilket förtydligar specifikationen av URN-namnområden.
För närvarande har användningen av URN redan fått betydande proportioner. URN:er har blivit en integrerad del av det utvidgbara XML -markeringsspråket . Fler och fler URN:er implementeras i populär programvara.
Uniforma resursnamn har följande struktur:
<URN> ::= "urn:" <NID> ":" <NSS>I denna post:
<NID> namnområdesidentifierare ( eng. Namnområdesidentifierare ); är en syntaktisk tolkning av NSS, skiftlägesokänslig. <NSS> en sträng från en specifik namnrymd ( eng. Namespace Specific String ); om den här strängen innehåller icke- ASCII-tecken måste de kodas i Unicode ( UTF-8 ) och prefixet (var och en av dem) med ett procenttecken "%" (se URL för detaljer ).I det här fallet är den initiala sekvensen av tecken "urn: " inte skiftlägeskänslig. Och namnområdesidentifierarna "urn" och "URN" är inte tillåtna alls, för att undvika förväxling med denna initiala sträng "urn: ".
Dessa URN innehåller i NID namnet på hashen som används för att skapa dem. NSS innehåller värdet av denna hash beräknad från data för det identifierade objektet (filen). Sådana URN:er får hashegenskaper, det vill säga många olika URN:er kan skapas för data, men varje URN kan bara identifiera en datamängd (fil).
Dessa URN:er används:
NID | Lite djup | Kodning | Exempel |
---|---|---|---|
träd:tiger | 192 | Base32 | urna:träd: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 | urna:tiger:cf13102788e1e6ef6124cb9ca9ef879e4bb04c58fe297dd3 |
aich | 160 | Base32 | urna:aich:wbtmcm2wrbndylixh3jmwsg4uowzjcqm |
bubbelpool | 512 | hex | urn:whirlpool:dc38ce741d9c8be87a0d715fad951460c5299da2447c3fa8f1057b560f9253c7a017882dcc2390ab602c3b0f5fcf066d6d35f32ffa9b8e5557e1d2f619506873 |
ripemd160 | 160 | hex | urn:ripemd160:93f1cb4a43643136d730a3b94b0ebcec66928c02 |
gost | 256 | hex | urn:gost:906fd73511810bafdaa33c05b9957b07edd8dca9b6982c04a86f6c642eb6b062 |
har 160 | 160 | hex | urn:has160:85c292d359574b89985b2667c9725edb1c7d12fc |
snefru128 | 128 | hex | urn:snefru128:646b932fee2529db11d05425cff21978 |
snefru256 | 256 | hex | urn:snefru256:35879fc03ca60db551fa26ce8be6a6a04d542cf5a635ab203f95c6f1affb59a6 |
I exemplen som visas är "isbn", "ietf", "oid", "sha1", "uuid" och "träd" namnutrymmen, sk. <NID> (se ovan) och linjer efter det andra kolonet är <NSS>.
URI- scheman | |
---|---|
Officiell | |
inofficiell |