Web
Il Web è diventato una delle infrastrutture fondamentali della nostra vita quotidiana. Lo utilizziamo per comunicare, lavorare, studiare, informarci, acquistare prodotti, guardare contenuti, utilizzare applicazioni e accedere a servizi. Eppure, proprio perché è diventato così familiare, spesso tendiamo a considerarlo come qualcosa di immediato: apriamo un browser, inseriamo un indirizzo o effettuiamo una ricerca e, pochi istanti dopo, una pagina appare sullo schermo.
Dietro a questa apparente semplicità si nasconde però un sistema tecnologico complesso, costruito attraverso la collaborazione di numerosi componenti.
Quando visitiamo un sito Web, il nostro dispositivo deve individuare un server attraverso la rete, stabilire una comunicazione con esso, richiedere determinate risorse e ricevere una risposta. Il browser deve poi interpretare documenti HTML, applicare regole CSS, eseguire programmi scritti in JavaScript e integrare immagini, caratteri, video e altri contenuti. Durante questo processo possono essere utilizzati cookie, sessioni e sistemi di autenticazione, mentre protocolli come HTTP e HTTP/3 regolano lo scambio delle informazioni.
Il sito che vediamo sullo schermo è quindi soltanto il risultato finale di una lunga sequenza di operazioni.
Comprendere il Web significa imparare a osservare ciò che accade dietro quell’interfaccia.
Questo libro nasce proprio con questo obiettivo: costruire una visione complessiva del funzionamento del World Wide Web, collegando tecnologie che spesso vengono studiate separatamente.
Partiremo dall’architettura generale di un sito Web e dal rapporto tra client e server, per comprendere come vengono organizzate e distribuite le risorse attraverso Internet. Analizzeremo poi uno degli strumenti che utilizziamo più frequentemente ma conosciamo meno: il browser, osservando il ruolo che svolge nell’interpretazione e nella visualizzazione delle pagine.
Entreremo quindi nella struttura vera e propria dei documenti Web attraverso HTML, il linguaggio che descrive contenuti e relazioni semantiche all’interno di una pagina, e attraverso CSS, che permette di definirne presentazione, layout e comportamento responsivo.
Ma una pagina Web non esiste isolatamente sul nostro computer. Deve essere richiesta attraverso la rete.
Per questo sarà necessario comprendere HTTP, il protocollo che permette la comunicazione tra browser e server, e la sua evoluzione più recente, HTTP/3, basata su QUIC e progettata per rendere le comunicazioni Web più efficienti e resilienti.
Dal Web costituito prevalentemente da documenti passeremo poi al Web delle applicazioni.
JavaScript permette di introdurre logica e interazione direttamente nel browser, mentre linguaggi eseguiti sul server, come PHP, consentono di generare dinamicamente contenuti e collegare le pagine Web a database, sistemi di autenticazione e servizi. Comprendere la differenza tra elaborazione client-side e server-side permette di leggere un sito non più come un insieme di pagine, ma come un sistema distribuito nel quale diversi componenti collaborano.
Affronteremo inoltre uno degli elementi più piccoli ma importanti dell’architettura Web: i cookie HTTP. Attraverso di essi comprenderemo come un protocollo originariamente privo di memoria possa gestire sessioni, autenticazioni, preferenze e tracciamento degli utenti, affrontando contemporaneamente alcune delle principali questioni relative alla sicurezza e alla privacy.
Queste tecnologie costituiscono le fondamenta del Web, ma nella maggior parte dei progetti contemporanei non vengono gestite direttamente.
I Content Management System, come WordPress, introducono infatti un ulteriore livello di astrazione che permette di creare e amministrare siti complessi attraverso temi, plugin, database e interfacce di gestione. Studiare un CMS dopo aver compreso le tecnologie sottostanti permette di capire che cosa esso automatizza e quale parte dell’architettura continua invece a dipendere dai meccanismi fondamentali del Web.
Infine analizzeremo il ruolo dei motori di ricerca, osservando come scoprono le pagine attraverso il crawling, come organizzano le informazioni attraverso l’indicizzazione e come determinano quali contenuti mostrare agli utenti. Da qui sarà possibile comprendere anche il significato della SEO, non semplicemente come insieme di tecniche per ottenere maggiore visibilità, ma come conseguenza del modo in cui contenuti, struttura dei documenti e architettura del Web vengono interpretati dai sistemi di ricerca.
L’obiettivo del libro non è quindi quello di trasformare il lettore in uno specialista di ogni tecnologia descritta.
L’obiettivo è acquisire un modello mentale del Web.
Sapere che cosa accade quando inseriamo un URL nel browser. Comprendere da dove arrivano i contenuti che vediamo. Distinguere ciò che viene elaborato dal browser da ciò che viene elaborato dal server. Capire perché esistono HTML, CSS e JavaScript e quale ruolo svolgono. Interpretare una richiesta HTTP, comprendere la funzione di un cookie, riconoscere ciò che un CMS automatizza e capire come un motore di ricerca riesce a trovare una pagina tra miliardi di documenti.
Perché utilizzare il Web è semplice.
Comprendere il Web significa imparare a vedere l’infrastruttura invisibile che rende possibile quella semplicità.
Indice

Sostieni il progetto
Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.
Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.
Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.
Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.
Patreon è troppo impegnativo?
Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.

