URNA

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 .

Huvudidé

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.

Historik

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.

URN-struktur

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: ".

Självidentifierande 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

Exempel på URN:er

urn:isbn:5170224575 urn:ietf:rfc:3406 urn:oid:2.16.643 urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 urna:träd:tiger:SLW7H5LWXRCK3WFX5USVWIUYCOLSBTTZRYGCAOJY

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>.

Se även

Anteckningar

  1. HTTP-tillägg för en innehållsadresserbar webb . Tillträdesdatum: 16 oktober 2009. Arkiverad från originalet den 28 juli 2011.
  2. RFC2169 - En trivial konvention för att använda HTTP i URN-upplösning . Hämtad 16 oktober 2009. Arkiverad från originalet 21 april 2015.
  3. OID -förråd . Hämtad 10 juni 2009. Arkiverad från originalet 24 april 2014.

Länkar