Per comprendere la storia dell'URL, dobbiamo tornare all'11 gennaio 1982, quando ventidue informatici si incontrarono per discutere di un problema con la "posta elettronica computerizzata" (quella che oggi conosciamo come e-mail). Tra i presenti c'erano coloro che in seguito avrebbero fondato Sun Microsystems, il creatore di Zork, il responsabile del protocollo NTP e colui che convinse il governo a finanziare Unix. Il problema era semplice: c'erano 455 host su ARPANET e la situazione stava degenerando.
Il passaggio da ARPANET e la nascita del dominio
Questo problema si presentò quando ARPANET stava per passare dal suo protocollo NCP originale al protocollo TCP/IP, che è il fondamento di ciò che oggi chiamiamo Internet. Questo cambiamento avrebbe creato una moltitudine di reti interconnesse, richiedendo un sistema di nomi di dominio più gerarchico. In tale sistema, ARPANET avrebbe potuto risolvere i propri domini mentre altre reti avrebbero risolto i propri.
All'epoca, le reti avevano nomi creativi come "COMSAT", "CHAOSNET", "UCLNET" e "INTELPOSTNET" ed erano gestite da gruppi di università e aziende in tutti gli Stati Uniti. Questi gruppi desideravano comunicare tra loro e potevano permettersi di affittare 56 linee dalle compagnie telefoniche e di acquistare le apparecchiature necessarie per gestire il routing.
In origine, il progetto ARPANET si basava su un Network Information Center (NIC) per gestire un file che elencava tutti gli host della rete, denominato HOSTS.TXT, simile al file /etc/hosts dei sistemi Linux o OS X. Tuttavia, questo sistema non poteva essere scalato all'infinito.

La nascita del dominio e l'evoluzione della posta elettronica
All'epoca la priorità era la posta elettronica, che rappresentava una sfida in termini di indirizzamento. La soluzione fu quella di creare un sistema gerarchico in cui fosse possibile interrogare un sistema esterno per ottenere il dominio necessario. Nacque così il concetto di dominio e gli indirizzi passarono da "utente@host" a "utente@host.dominio", un formato che utilizziamo ancora oggi."
Sebbene questa decisione non sia stata presa con una chiara visione del futuro, è stata scelta perché causava meno problemi ai sistemi esistenti.
UUCP e le rotte Bang
Il sistema UUCP, creato nel 1976, consentiva ai computer di comunicare attraverso percorsi chiamati "Bang Path", lungo i quali potevano essere inviati file o e-mail. Questo sistema fu un predecessore dell'Internet pubblico che conosciamo oggi.
DNS e i primi TLD
Il sistema DNS, che utilizziamo ancora oggi, fu proposto nel 1983. Il DNS risolve i domini in indirizzi IP e consente agli utenti di trovare in modo efficiente i siti web. I primi TLD (domini di primo livello) includevano .com, .gov, .org, .edu e .mil, ancora ampiamente utilizzati oggi.
Il sistema DNS è stato progettato per essere gerarchico, con un insieme di server root responsabili della risoluzione dei domini. Oggi, il sistema DNS root è costituito da tredici cluster di server. Storicamente, le risposte DNS venivano gestite tramite pacchetti UDP, limitando la risposta a 512 byte.

Punycode e l'internazionalizzazione dei domini
Con la crescita e l'espansione di Internet a livello globale, è emersa la necessità di supportare caratteri non latini nei nomi di dominio. Ciò ha portato alla creazione di Punycode, un sistema che converte i caratteri Unicode (come le lettere cinesi o arabe) in ASCII, rendendoli compatibili con le infrastrutture esistenti.
Punycode non è stata la prima proposta per risolvere questo problema, ma è stata adottata perché è efficiente nella codifica dei caratteri e garantisce che i nomi di dominio siano comprensibili sia alle macchine che agli utenti.
Protocolli, porte e componente "extra"
Il protocollo più comune che utilizziamo per accedere ai siti web è HTTP, inventato da Tim Berners-Lee appositamente per il web. Tuttavia, anche altri protocolli come FTP e Gopher erano popolari agli albori di Internet.
La porta predefinita per HTTP è la porta 80, assegnata agli albori del web. Ciò consentiva ai browser di accedere alle pagine web tramite HTTP senza dover specificare la porta nell'URL.
La doppia barra "//" che separa il protocollo dal resto dell'URL è stata presa in prestito da un precedente sistema informatico chiamato Apollo. Sebbene Tim Berners-Lee abbia espresso rammarico per questa decisione, essa rimane parte integrante dello standard URL attuale.
La strada verso il futuro: frammenti, URN e autenticazione
Gli URL includono anche snippet, rappresentati dal simbolo "#", che consentono di collegarsi a una parte specifica di una pagina. Inoltre, è possibile aggiungere all'URL parametri di query e credenziali di autenticazione, sebbene queste pratiche siano state ora sostituite da metodi più sicuri ed efficienti.
Sebbene gli URL si siano evoluti sin dalla loro nascita, rimangono una parte fondamentale del funzionamento del web. Sebbene siano stati proposti sistemi più avanzati come gli URN (Uniform Resource Name), gli URL continuano a essere il modo più efficiente per identificare e accedere alle risorse online.
Questo articolo esplora l'evoluzione dell'URL dai suoi umili inizi su ARPANET fino a diventare uno degli elementi più essenziali dell'infrastruttura Internet. Nel corso degli anni, numerose proposte, errori e innovazioni hanno portato al sistema di indirizzamento web che utilizziamo oggi.
Articolo originale di Zack Bloom | 05 maggio Pubblicato nel 2020 Il blog di Cloudflare











