La rete Internet esisteva già da anni (il precursore si chiamava ARPANET ed era un progetto voluto dal Ministero della Difesa degli Stati Uniti, lanciato addirittura nel 1969) ma i protocolli di alto livello e i servizi vennero dopo. Basti pensare che IPv4, operante al livello di rete (il terzo nella pila ISO/OSI), è datato 1981 mentre, ad esempio, la prima implementazione di FTP è del 1971 sostituita all’inizio degli anni ’80 da una versione del protocollo compatibile TCP/IP e funzionante all’ultimo livello, il settimo ovvero quello applicativo (esattamente come HTTP, DNS, POP3, Telnet, SSH, NTP, DHCP, IRC e molti altri).
L’idea del World Wide Web, un servizio che permettesse di collegare fra loro più ipertesti, venne a Tim Berners-Lee. Nel 1989, quando egli era dipendente del CERN di Ginevra, propose un progetto di ipertesto che permettesse di “navigare” da un documento all’altro selezionando appositi link.
Berners-Lee aveva le idee ben chiare: il Web sarebbe stato aperto a tutti, in tutto il mondo, libero ed esente da qualunque royalty, per sempre. La storica proposta originale è gelosamente conservata negli archivi del consorzio W3C).
Apprestandosi a celebrare il 30esimo anniversario del World Wide Web, un piccolo gruppo di sviluppatori del CERN hanno realizzato un’applicazione che ricalca il funzionamento del Web degli albori.
Raggiungibile a questo indirizzo (cliccare il pulsante Launch World Wide Web), l’applicazione (oggi realizzata ricorrendo a JavaScript e React) rispecchia il comportamento dell’implementazione originale su una macchina NeXT.
Vale la pena ricordare che NeXT Computer è la società che fu fondata da Steve Jobs nel 1985 dopo un acceso scontro con l’amministratore delegato di Apple, John Sculley, azienda che aveva contribuito a far nascere.
Berners-Lee realizzò l’applicazione WorldWideWeb in Objective-C per il sistema operativo NeXTSTEP, considerato l’antenato di Mac OS, mentre la prima versione ufficiale del protocollo HTTP (HTTP/1.0) è databile 1991 mentre la standardizzazione da parte dell’IETF è successiva (1996-1997).
Mentre buona parte del mondo non poteva neppure immaginarsi cosa sarebbe accaduto di lì a pochi anni, al CERN di Ginevra si gettarono le basi per quella che è la rete come la conosciamo oggi. Al momento del lancio le pagine web erano una sorta di copia dei documenti dattiloscritti; non c’erano le immagini né tanto meno JavaScript (fine 1995) e i CSS (fine 1996).
Noi abbiamo avuto la fortuna di assistere a molte delle tappe che hanno segnato, non sempre in meglio, l’evoluzione del Word Wide Web. “I pionieri” della rete sono tra chi è nato entro fine anni ’70 perché tra loro c’è chi ha avuto lo spirito giusto e la sensibilità per comprendere (e spesso “cavalcare”) sin da subito la grande rivoluzione che stava prendendo forma. Tempi in cui qualche chilobyte di dati faceva la differenza tra una pagina pesante e una decisamente più leggera, costretti a fare i conti con modem analogici a 14, 28 e 56 kbps effettuando costosissime connessioni in dialup su PoP di vari provider (quanti di noi hanno iniziato con Video On Line e chiamate interminabili sui PoP cagliaritani della società fondata? A Milano c’era Galactica e Agorà a Roma). Chi poté passare a ISDN fino a 128 kbps era “un signore”.
Le pagine web dei primi tempi erano veramente essenziali ed erano realizzate ricorrendo esclusivamente fino a un massimo di 26 tag diverse. Nulla se confrontate con la ricchezza degli strumenti e dei linguaggi che uno sviluppatore web può oggi adoperare.
L’applicazione World Wide Web appena ricordata dal CERN è il client progettato e realizzato da Berners-Lee ma lo stesso informatico britannico, insignito del premio Turing nel 2016, realizzò il primissimo server web (“httpd”, HyperText Transfer Protocol Daemon) e ideò il linguaggio di markup HTML la cui definizione venne ufficializzata e resa pubblica nel giugno 1993.
Dal 1994, sulla scorta dei primi utilizzi commerciali del Web, nacque il World Wide Web Consortium (W3C) che da quel momento prese sotto la sua ala lo sviluppo del linguaggio e in generale dei protocolli di comunicazione.