Mentre facevo delle ricerche sul WebSemantico mi sono accorto di una questione un po’ strana: come ben sapete, gli URI, URL o URN sono lo strumento con cui tutto il Web è tenuto insieme; sono ciò che fa funzionare i link e che ci permette di accedere a questa o quella risorsa (che sia un sito web o altro), senza sbagliare. Ebbene, in realtà non è che ci sia un gran consenso sulla terminologia: la pietra d'angolo del Web, a seconda dei punti di vista può essere chiamata URI o URL (URN è più facile da distinguere, ma vedremo dopo).

Come dice Tim Bray: [There is no such thing as a URL].

Definizioni

Allora, cerchiamo di capire. [Ecco un po’ di definizioni dal W3C]:
URI
Uniform Resource Identifier. The generic set of all names/addresses that are short strings that refer to resources.
URL
Uniform Resource Locator. An informal term (no longer used in technical specifications) associated with popular URI schemes: http, ftp, mailto, etc.
URN
Uniform Resource Name.
  1. An URI that has an institutional commitment to persistence, availability, etc. Note that this sort of URI may also be a URL. See, for example, PURLs.
  2. A particular scheme, urn:, specified by RFC2141 and related documents, intended to serve as persistent, location-independent, resource identifiers.

URI/URL

Prima di tutto, un esempio di URI/URL:
http://www.example.org/path/to/file#fragment-id (ho omesso le querystring per brevità, ma fanno anche loro parte di un URI/URL).

Quindi, secondo le definizioni appena riportate, gli URL sono un termine informale associato ad URI con degli schemi particolari: http, ftp, mailto. Ancora, [stando a Danyel Ceccaldi, queste sono le differenze tra URI e URL]:
A URI identifies a resource by meta-information of any kind.
A URL locates a resource on the net, which means if you have a URL and the appropriate protocol you can retrieve the resource.

Questo sembra essere in accordo con [quanto sostiene anche Sean Palmer]:
As far as I know, the definition of a URL is, loosely, any URI that is tightly coupled to a resolution protocol in common social convention.

Quindi, un URL è più o meno qualunque URI che sia legata ad un protocollo di risoluzione (ovvero alla effettiva possibilità di reperire ciò a cui quell’URL è associato), mentre gli URI contengono anche schemi che non permettono questo tipo di risoluzione, ad esempio gli urn:, i mid: (message id) o le [TagURI], come si legge in una nota informale del W3C del 1997, [URI vs. URL].

Gli URL sono dichiarati informali e non vengono più usati nella documentazione tecnica, quindi teoricamente potremmo smettere di usare il termine anche nel linguaggio comune.

URN

Esempio di URN:
urn:example-org:someuri

Ma parliamo di [URN] adesso. Da quanto mi sembra di capire, gli URN sono:
  1. di solito astratti: non sono formalmente legati ad alcun tipo di risoluzione essendo location independent (ma non in tutti i casi: ad esempio i [purl] non lo sono)
  2. persistenti, e questa sembra essere la loro caratteristica più importante.

Per quanto riguarda la persistenza, in [una nota dell’IETF] si legge:
The namespace owner will endeavor to ensure a quality of service that provides that the namespace is usable for the lifetime of the namespace owner. In the case of the namespace owners death or any change in the owners ability to ensure this level of service, the list of assigned names will be made publicly available so that archive services may continue to provide some level of service.
Wow!

Conclusione

Come abbiamo visto la situazione è abbastanza confusa. Per quanto mi riguarda ho stabilito la mia tattica in merito: d’ora in poi quando parlo dell’indirizzo di un sito o di una pagina, farò sempre riferimento al termine URI, senza lamentarmi quando qualcun'altro userà il termine URL :-)

Risorse


Il futuro

Non è finita, ovviamente. Al momento il W3C sta lavorando sui cosiddetti IRI [Internationalized Resource Identifier] e c’è un progetto del consorzio Oasis Open, gli [XRI].

Valid XHTML 1.0!     Hosting By Bestserver