Se stai leggendo questo articolo è molto probabile che passi gran parte della tua giornata connesso al Web a navigare tra applicazioni, ultime notizie e social network. Ma in quanti si sono mai chiesti veramente dove tutto questo sia iniziato? Ormai al giorno d’oggi è la normalità essere in grado di connettere alla rete qualsiasi dispositivo elettronico, ma in che momento storico tutto questo ha iniziato a prendere forma? In occasione dell'Internet Day, ho deciso di ripercorrere le tappe più importanti della vita di Internet: quando è nato, chi lo ha inventato, e cercato di capire cosa può riservarci il futuro!

Chi ha veramente inventato Internet?

La prima trasmissione di dati

La storia del web inizia in un’era tecnologica completamente diversa da quella in cui ci troviamo ora: tutto ha origine nel “lontano” 1969 a Stanford, negli Stati Uniti. L’idea, molto semplice ma incredibilmente avanzata al tempo, fu quella di interconnettere i computer dell’università per permettere agli scienziati di condividere le informazioni che si trovavano sui diversi dispositivi. Questi computer dovevano quindi essere in grado di scambiarsi pacchetti inviando le informazioni frammentate per poi essere ricomposte al termine della comunicazione dal dispositivo ricevente. Il primo messaggio inviato su questa primordiale rete di comunicazione fu “Login”, ma a destinazione arrivarono solo i pacchetti contenenti le lettere “l” e “o” prima che il sistema andasse in crash. Impiegarono un'intera ora a riavviare tutta l’infrastruttura per trasmettere nuovamente - e questa volta con successo -  l’intero messaggio! La prima rete di trasmissione dati tra differenti dispositivi venne chiamata ARPANET. Bisognerà aspettare l’anno successivo, il 1970, per la creazione di un primo vero network basato su ARPANET: in quell’anno fu stabilita la prima connessione tra Harvard e il MIT (Massachusetts Institute of Technology).

La prima email

Con l’avvento della condivisione di informazioni tra un network di computer arrivò anche la necessità di poter scambiare messaggi privati. Non tardò ad arrivare la nascita della prima email: nel 1971 venne inviata la prima email sfruttando il network ARPANET. Contestualmente venne concordato l’utilizzo del famoso simbolo @ come separatore tra username ed hostname per identificare il ricevente del messaggio. Il 1978, invece, fu l’anno in cui vennero inviate le prime email di SPAM: vennero inviati dei messaggi commerciali non richiesti a centinaia di utenti ARPANET.

L’espansione della rete

Durante gli anni ‘80, ARPANET si espanse fino ad ospitare più di 30000 utenti connessi al network. La connessione di così tanti utenti alla rete fu resa possibile grazie all’introduzione del protocollo di comunicazione TCP/IP ancora in uso nelle connessioni odierne. Questo protocollo, inventato nel 1974 e poi adottato ufficialmente a partire dal 1983, permise di stabilire connessioni via via sempre più robuste andando a minimizzare la perdita di frammenti di messaggio consentendo di stabilire collegamenti stabili e più in larga scala. Nel 1988 venne inventata la prima chat in tempo reale: Internet Relay Chat (IRC) che fece da precursore a tutte quelle applicazioni di chat che oggi utilizziamo.

Nel 1989 Tim Berners-Lee scrisse la sua prima proposta di una nuova infrastruttura condivisa: il World Wide Web. L’idea nacque tra le mura del CERN dove i ricercatori avevano necessità di condividere le informazioni non solo all’interno del loro dipartimento, ma per tutto il mondo. Il CERN, infatti, non deve essere considerato come un laboratorio isolato, ma il punto focale di una comunità di migliaia di scienziati provenienti da oltre 100 paesi. Tim Berners-Lee comprese questa necessità globale di comunicare in modo affidabile e rapido e, nell’ottobre del 1990, presentò le tre tecnologie fondamentali che tutt’ora compongono il web:

  • HTML: HyperText Markup Language. Lo standard di linguaggio alla base delle pagine web
  • URI: Uniform Resource Identifier. Rappresenta l’indirizzo univoco utile ad identificare ogni pagina web (comunemente chiamato URL)
  • HTTP: HyperText Transfer Protocol. Il protocollo di comunicazione alla base dello scambio di pacchetti tra dispositivi e server.

La prima pagina web

Fu il 1991 l’anno in cui venne pubblicata la prima pagina Web. Il suo contenuto? Naturalmente la spiegazione di cosa fosse il World Wide Web! E nello stesso anno venne lanciato il primo motore di ricerca in grado di leggere informazioni non solo tra i nomi dei file condivisi in rete ma addirittura all’interno degli stessi.

Tim Berners-Lee progettò questa innovativa infrastruttura su un computer NeXT creando così il primo server web. Per evitare che venisse accidentalmente spento, incollò un foglio scritto a mano con su scritto: “this machine is a server. DO NOT POWER IT DOWN!!”

Foglietto NeXT computer

La sicurezza sul Web

Dalla prima pagina web ad oggi, internet si è evoluto in modo esponenziale passando attraverso leggende come Netscape e Napster (per non parlare della nascita di Google nel 1998!) Le tecnologie su cui si è basata questa evoluzione digitale sono le tre idee fondamentali teorizzate e sviluppate da Tim Berners-Lee: HTML, URL e HTTP. Proprio quest’ultimo è il protocollo che sta alla base di tutte le comunicazioni internet che permette di garantire sicurezza e confidenzialità delle comunicazioni.

L’inizio: HTTP 1.1

Il primo standard di protocollo HTTP fu rilasciato nel 1997 ed è attualmente ancora largamente in uso nelle comunicazioni web. Questa tecnologia è basata sulla comunicazione TCP/IP che consente ad un dispositivo di inviare un pacchetto di informazioni e attendere, da parte del ricevente, la conferma che il pacchetto è stato ricevuto correttamente. Questo metodo permette di eliminare eventuali errori di comunicazione dal momento che ogni informazione diventa confermata. La tecnologia HTTP 1.1 ha permesso di introdurre diverse funzionalità utili a tenere aperto lo scambio di informazioni tra due dispositivi (keep-alive) e la possibilità per il client di aprire in contemporanea più connessioni TCP/IP con il server in modo da richiedere più flussi di informazioni simultaneamente.

Insieme al protocollo HTTP 1.1, era possibile mettere in sicurezza le informazioni criptandole tramite un certificato di sicurezza SSL/TLS (TLS è il successore di SSL). La connessione così composta prende il nome di HTTPS e permette di proteggere lo scambio di pacchetti tra due dispositivi inviando informazioni codificate e autenticate. Questo aumento di sicurezza ha però portato ad una diminuzione di performance in quanto i dispositivi coinvolti devono dedicare fino a 2 secondi ad aprire la connessione protetta influenzando in questo modo le performance dei siti web.

L’adozione di HTTP 2

Nel 2015 viene introdotto il protocollo HTTP 2 che presenta novità utili a garantire una migliore performance nella fruizione dei siti web. La novità principale è l’adozione obbligatoria dei certificati di sicurezza SSL/TLS in modo da garantire comunicazione obbligatoriamente sicure: nessun server potrà garantire l’utilizzo del protocollo HTTP 2 a meno di non aver prima installato il relativo certificato SSL/TLS. L’altra grande novità introdotta da HTTP 2 riguarda il modo in cui vengono scambiate le informazioni: con l’utilizzo dell’HTTP 1.1 ogni pacchetto deve essere inviato singolarmente e convalidato dal ricevente, mentre HTTP 2 permette al server di inviare più pacchetti contemporaneamente a fronte di una singola richiesta del client.

L’utilizzo di HTTP 2 ha portato ad un sensibile miglioramento delle performance nel caricamento di pagine web andando a spremere al massimo le potenzialità del protocollo TCP/IP. In assenza di problemi di connettività, questa tecnologia funziona al meglio ma cosa succede se la connessione non è buona? L’intero caricamento delle pagine ne risente sensibilmente (e ciò può essere pessimo, sia per l'esperienza utente che per la SEO)!

La novità di HTTP 3 e QUIC

HTTP 3 è la terza e recentissima versione del protocollo HTTP: viene rimosso l’utilizzo della trasmissione TCP a favore della nuova trasmissione QUIC (Quick UDP Internet Connection). Creato unendo l’affidabilità del TCP e la velocità del protocollo UDP, QUIC è stato progettato per abbattere i tempi di caricamento nel caso in cui venga richiesta una pagina Web già visitata in precedenza: se un client ha già dialogato con quel determinato server allora quest’ultimo può già iniziare ad inviare informazioni senza tempi d’attesa, rendendo lo scambio di pacchetti molto più veloce. Nei siti già ampiamente ottimizzati secondo le direttive di Google è possibile ottenere un ulteriore incremento di prestazioni fino al 3%.

TPC + TLS

La logica di base di QUIC è molto simile a quella utilizzata nell’HTTP 2 dove è necessario utilizzare un certificato TLS, ma la comunicazione avviene tramite protocollo di rete UDP. L’adozione di questo metodo di comunicazione offre alte prestazioni per gli utenti connessi a reti lente o con latenza elevata gestendo le comunicazioni in modo diverso rispetto ai precedenti protocolli.

Nella pratica, QUIC avvia una comunicazione trasmettendo subito tutti i dati necessari a validare la connessione sicura TLS senza aspettarsi una risposta da parte del server. Il server, a quel punto, risponderà immediatamente con tutti i pacchetti necessari a mostrare il contenuto richiesto dall’utente.

Il supporto ad HTTP 3 è stato rilasciato ufficialmente su Google Chrome e su Cloudflare nel Settembre 2019, a cui si aggiungerà a breve Firefox.

nascita di HTTP3
Credits: CommitStrip.com

Se questa vignetta ti fa ridere, probabilmente ti sei appassionato alla storia di Internet (e come darti torto…)! Cosa ci riserverà il futuro? Non possiamo saperlo, ma una cosa è certa: the best is yet to come!