URI vs. URL vs. URN

URI е обединяващ термин, демек нещо служещо да идентифицира даден web ресурс по един или друг начин. Какъв „един или друг“ начин? И двата (URN и URL) служат за да сочат към да даден ресурс в дадена мрежа, уникално но на ниво мрежа, била тя малка и локална, или глобалната Интернет.

И двата са разновидности от т.н. URI – идентификатор на даденият ресурс, по един или друг начин.

Това може да стане или с помощта на даден уникален стринг URN (RFC 2141),
или стринг, сочещ как да достъпим този ресур в дадената мрежа – URL (RFC 3986).

Разликата между URN и URL e, че URN е един вид само текстов идентификатор, демек стринг, който не води никъде в мрежата, а по-скоро се използва в например XML документи, разни парсери и т.н…
Демек, URN не води никъде, неговата идея е да е един стрингов идентификатор и се използва предимно в XML документи например…

Сподед RFC 2141 един примерен URN би бил:
urn:isbn:123326546546
urn:EGN:7804111111
urn:мекици:топли:предпочитани:с малиново сладко

Това което ги обединява е URI, който има малка практическа полза, защото и URN, и URL са напълно достатъчни за уникално идентифициране на даден ресурс в дадена мрежа. Просто по различен начин – едното не води на никъде, другото води, но и двете трябва уникално да идентифицират даден ресурс.

Въпреки, че например можем да използваме стринг, формиран като URL да бъде използван за да идентифицира уникално даден ресурс, но да не води на никъде. Демек, няма да е задължително URL, а ще е на практика URN. Да не забравяме, че и URL, и URN са подмножества на URI, демек негови разновидности или ако щете – практически превъплъщения.

Демек, чуем ли URN или URL, все едно чуваме URI но в различен формат.

Литература:

https://en.wikipedia.org/wiki/Web_resource