Internet: breve storia dell’URL

URL

L’URLUniform Resource Locator è una sequenza di caratteri alla quale corrisponde un specifica risorsa su Internet, da una semplice pagina come quella che state leggendo ora ad un video su YouTube e via dicendo.

L’idea alla base dell’URL è quella di rendere più facile l’accesso a specifiche risorse sostituendosi agli indirizzi IP, caratterizzati esclusivamente da numeri e più difficili da memorizzare. E’ così che, anche se non ce ne rendiamo conto, ogni qualvolta che digitiamo un URL nel browser accediamo automaticamente ad uno specifico IP, associato a sua volta ad uno o più URL grazie al DNS (Domain Name System).

La nascita dell’URL è datata 1992, anno in cui Tim Berners-Lee (TBL), oltre a pensare all’Uniform Resource Locator, creò insieme ad altri “pionieri” anche HTML ed il protocollo HTTP. L’obiettivo di TBL era quello di “dare vita” all’ipertesto, la cui qualità principale era quella di collegare i documenti tra loro.

Ai tempi i documenti adoperavano tuttavia molteplici formati e protocolli (FTP, Gopher etc), è per questo che serviva una soluzione in grado di individuare: uno specifico file, relativo protocollo, la posizione dell’host del file in Rete, la posizione esatta del file nello spazio di archiviazione dell’host. In occasione della presentazione ufficiale del World Wide Web (Marzo 1992), TBL si riferì a questa soluzione con il termine UDI (Universal Document Identifier). Naturalmente vennero considerati diversi formati per l’UDI:

protocol: aftp host: xxx.yyy.edu path: /pub/doc/README
 PR=aftp; H=xx.yy.edu; PA=/pub/doc/README;
 PR:aftp/xx.yy.edu/pub/doc/README
 /aftp/xx.yy.edu/pub/doc/README)

Bisogna in ogni caso capire che l’URL era essenzialmente un modo più celere per riferirsi ad una determinata combinazione di schemi, domini, porte, percorsi etc, tutti elementi che fino ad allora dovevano essere appresi contestualmente al sistema di comunicazione adottato. Lo schema fu definito nel 1994 da Berners-Lee ed altri ma divenne ben presto superfluo: già dai primi anni del 1996 i browser iniziarono ad inserire automaticamente per gli utenti i ben noti “http” e “www”. Una struttura come la seguente sarebbe apparsa infatti confusionaria e complessa ai più:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

Auth, Fragments e Path

In questa parte centrale ci occupiamo di alcuni elementi dell’URL e caratteristiche associate  a partire dai processi di autenticazione. Tra le possibilità offerte dall’Uniform Resource Locator vi è anche quella di inserirvi anche username e password:

http://nome:shhhhhh@nome.is

I dati di autenticazione sono poi codificati dal browser, che adotta il sistema di numerazione posizionale Base64, ed inviati come header. I dati non vengono tuttavia cifrati come accade oggi e, soprattutto nel periodo precedente all’avvento di SSL, questo costituiva un serio problema per la sicurezza degli utenti – qualsiasi malintenzionato poteva carpire le informazioni monitorando illegalmente la connessione di turno. Per ovviare all’inconveniente furono proposte varie soluzioni incluso Kerberos – che divenne uno dei protocolli di sicurezza più utilizzati e continua ad essere adoperato tutt’ora (OpenSSH è in grado di utilizzarlo per l’autenticazione).

Per fragment si intede invece quella parte dell’URL posizionata dopo il simbolo “#“. Si tratta di un elemento presente fin dall’inizio tra le specifiche dell’Uniform Resource Locator che ha lo scopo di indirizzare ad uno specifico elemento della pagina appena caricata. Sembra che Tim Berners-Lee si sia ispirato al sistema di indirizzi statunitense: “Almeno negli USA, è comune utilizzare il cancelletto per indicare un appartamento o una stanza situata all’interno di un edificio. 12 Acacia Av #12 si riferisce [quindi “all’edificio situato al 12 di Acacia Av ed all’appartamento 12 presente nello stabile”]. Sembrava più che appropriato per la task in questione”.

E’ interessante ricordare che anche l’oN Line System (NLS), ideato da Douglas Englebart alla fine degli anni sessanta e precursore dei futuri ipertesti, utilizzava allo stesso modo il cancelletto.

Il simbolo “/” o slash è un altro elemento familiare per chi ha imparato ad utilizzare un computer negli ultimi sedici anni. Il modello gerarchico di organizzazione dei file di sistema fu introdotto negli anni sessanta con Multics (Multiplexed Information and Computing Service), un progetto di ricerca che si rivelo fondamentale per lo sviluppo dei futuri sistemi operativi. Multics adoperava tuttavia il simbolo “>” (maggiore di):

>usr>bin>local>

Durante la fase di definizione delle specifiche dell’URL  “>” venne tuttavia destinato alla rappresentazione della redirezione ed al suo posto subentrò il noto “/“.

URN ed URL

Sebbene oggi sia difficile immaginare la Rete senza URL, in chiusura è interessante ricordare che fin dalla sua nascita l’URL ricevette diverse critiche:“L’URL non sarebbe mai dovuto divenire quel che è ora: un “arcano modo” di indentificare un sito sul Web. Sfortunatamente non siamo stati ingrado di imporre lo standard URN, che ci avrebbe garantito un sistema di assegnazione più utile” affermava Dale Daughterty nel 1996.

L’URL non era apprezzato all’unanimità dagli addetti ai lavori e nel 1993 si ipotizzava addirittura una sua dismissione nell’arco di pochi anni: l’idea era quella di sostituirlo con l’URN o Uniform Resource Name, in sintesi un modo per creare un riferimento permanente ad una determinata risorsa  impossibile da modificare o “rompere” –  diversi URL degli anni novanta risultano oggi irraggiungibili.

Tra il 1995 ed il 1997 sembrava proprio che si stesse andando in quella direzione con la finalizzazione della struttura dell’URN. Ciascun URN era formato da due elementi: una authority, in grado di “comprendere” una determinata tipologia di URN, ed un ID specifico del documento (in un formato supportato dall’authority).

Applicato ad esempio alla ricerca di un libro online l’URN “urn:isbn:0142204738” andrebbe ad identificare un libro X costituendo un link permanente – a sua volta interpretabile e convertibile dall’authority locale (in questo caso l’isbn) in una serie di URL.

Alla finalizzazione non seguì tuttavia l’effettiva adozione e l’URL fu libero di consolidare la propria “leadership”.