Differenze tra URI, URL e URN

di Lorenzo Neri
0 commento 246 visualizzazioni

Quali sono le differenze tra URI, URL e URN? Cosa li rende diversi l’uno dall’altro? È ciò di cui parleremo in questo articolo!

Partiamo da quello che è la nomenclatura, il significato di queste sigle.

  • URI: Uniform Resource Identifier
  • URL: Uniform Resource Locator
  • URN: Uniform Resource Name

Quindi, parrebbe proprio che c’è una differenza base tra tutti e tre 😀

Ovviamente non basta.

Prendiamo in esame la definizione dalla RFC 3986:

Un URI può essere classificato come locatore, nome o entrambi in aggiunta all’essere un identificatore. Il termine “Uniform Resource Locator” (URL) si riferisce al sottoinsieme di URI che, oltre ad identificare una risorsa, offre la possibilità di localizzarla descrivendo innanzitutto la modalità principale con cui si può accedere ad essa.

Il termine “Uniform Resource Name” (URN) è stato usato sia per riferirsi agli URI tramite lo schema “urn” (referenza della RFC2141), richiesto per mantenere la risorsa globalmente unica e persistente anche se la risorsa stessa cessa di esistete o diventa non disponibile, sia a qualsiasi altro URI che ha tra le sue proprietà un nome.

Sì insomma tutto molto bello, ma che supercazzola eh? 😀

Cerchiamo di andare oltre il tecnichese: andiamo alla sostanza.

Da ciò che è scritto nella RFC 3986, parrebbe che tutti gli URL e gli URI, nonchè gli URN, sono URI a tutti gli effetti, ma gli URL e gli URN sono diversi, perciò non possiamo dire che tutti gli URI siano URL.

Quindi, abbiamo chiarito questa prima differenza tra URI, URL e URN.

Ma trovo opportuno fare un esempio molto concreto per chiarire ogni dubbio possibile.

Il mio nome: Lorenzo Neri.

Anche tu hai un nome. È un identificatore. Nome e cognome se ci pensi bene sono un identificatore: rappresentano la nostra identità, quindi possiamo considerarli un URI.

Ma nome e cognome non possono essere un URL.

Perchè? Perché tramite nome e cognome non possiamo essere localizzati.

Non ti danno alcuna informazione concreta sul dove io mi trovi. Magari ci sono altri 78 Lorenzo Neri al mondo.

Ammettiamo che il mio indirizzo sia “Via del Non ne ho Idea, 19268 Localhost”.

Il mio indirizzo, così come quello di casa tua, è un locatore. Si riferisce a una specifica locazione fisica, ovvero un luogo!

Quindi, l’indirizzo di casa tua o casa mia sono sia un URL sia un URI.

URI perchè identificano appunto un luogo, URL perché permettono di localizzare casa nostra.

Ma non solo. Se ci pensi bene l’indirizzo di casa mia o casa tua sono un modo indiretto di identificarci in modo univoco.

So a cosa stai pensando.

“Lorenzo io a casa mia mica ci sono solo io!”

Le cose infatti cambiano se abbiamo dei parenti o dei coinquilini che vivono in casa nostra.

Quindi, abbiamo capito che differenza sottile ci sia tra URI e URL: e gli URN?

Riprendiamo il discorso del nome.

Se io mi chiamassi “Lorenzo Neri 882299” e fossi davvero sicuro che quel numero sia unico in tutto l’universo e che sia scritto sulla mia carta di identità, allora sarebbe un URN a tutti gli effetti.

Un URN come suggerisce la sua definizione, è un nominativo unico. Niente cloni, niente doppioni.

Ma non solo.

Deve essere persistente.

Cioè? Cioè che a differenza degli URI e degli URN devi immaginartelo come immortale.

Ad esempio, gli ISBN dei libri.

Una volta che un libro è pubblicato, esso sarà universalmente identificato con un numero ISBN che è diverso da qualsiasi altro libro nell’universo.

Persino se venisse pubblicato un altro libro con lo stesso titolo, autore, anno di pubblicazione: avranno due ISBN diversi.

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più