Ciao, e benvenuto nella prima puntata della trentacinquesima stagione di questo podcast. Nella scorsa stagione abbiamo raccontato il sistema dei nomi di internet, il DNS, che traduce il nome di un sito nel numero della macchina giusta, e ti porta fin lì. Ma oggi partiamo da una domanda naturale: una volta arrivato a quella macchina, chi ti accoglie? Chi riceve la tua richiesta e ti restituisce la pagina che hai chiesto? La risposta è un programma di cui quasi nessuno conosce il nome, ma che è fondamentale: il web server. E in questa stagione ne racconteremo uno dei più importanti e usati al mondo, che si scrive in modo strano, ma si pronuncia enginex, ed è quello che chiameremo nginx.
Partiamo dal capire cosa fa un web server, perché è più semplice di quanto sembri. Ogni sito web vive su una macchina, un computer collegato alla rete. E su quella macchina c'è un programma sempre in ascolto, in attesa che qualcuno bussi, cioè che arrivi una richiesta: la richiesta di un browser che vuole vedere una pagina. Quando la richiesta arriva, questo programma la riceve, prepara la risposta, la pagina, il file, l'immagine, e la restituisce a chi l'ha chiesta. Questo programma è il web server. È lui che sta alla macchina, riceve le richieste e serve le risposte. Senza di lui, la macchina resterebbe muta: nessuno risponderebbe a chi bussa.
Voglio darti l'immagine che rende tutto chiaro, perché è azzeccata: il web server è il portiere, o il receptionist, di un sito. Immagina l'ingresso di un edificio. C'è qualcuno alla porta, sempre presente, il cui compito è ricevere chi arriva. Tu bussi, chiedi qualcosa, e lui ti risponde, ti dà ciò che hai chiesto. Il web server fa esattamente questo per un sito: sta all'ingresso, sempre in ascolto; quando arriva una richiesta, la riceve, e restituisce la risposta. È il volto del sito verso il mondo, chi accoglie ogni visitatore. Ogni sito che visiti, dietro, ha uno di questi portieri sempre al lavoro, che riceve la tua richiesta e ti passa la pagina.
Voglio farti collegare questo alla scorsa stagione, perché il quadro diventa completo. Ricordi come funziona una visita a un sito? Prima, il DNS traduce il nome nel numero della macchina, e ti porta fino a quella macchina, come un navigatore che ti porta all'indirizzo giusto. Ma arrivare all'indirizzo non basta: lì, alla porta, deve esserci qualcuno che ti riceve. Quel qualcuno è il web server. Il DNS ti porta all'edificio giusto; il web server è il portiere che ti accoglie all'ingresso e ti dà ciò che cerchi. I due lavorano in sequenza: prima trovi la macchina, grazie al DNS, poi vieni ricevuto, grazie al web server. Insieme, fanno sì che il tuo semplice digitare un nome si trasformi in una pagina davanti ai tuoi occhi.
Ora voglio presentarti il protagonista della stagione, nginx, e cosa lo rende speciale. nginx è uno di questi web server, uno dei più diffusi e importanti al mondo: una quota enorme dei siti che visiti ogni giorno, soprattutto i più trafficati, ha come portiere proprio lui. Ma nginx non è un portiere qualunque: è famoso per essere straordinariamente efficiente, capace di accogliere una quantità gigantesca di visitatori contemporaneamente, senza affaticarsi, con pochissime risorse. Ed è famoso anche per un altro ruolo, più moderno e potente, che vedremo: non solo servire le proprie pagine, ma fare da porta d'ingresso davanti ad altre applicazioni. nginx è il portiere efficiente per eccellenza del web.
Voglio darti fin d'ora la lente con cui guardare nginx in tutta la stagione. nginx è la porta d'ingresso efficiente del web: il programma che riceve le richieste e serve le risposte, e che lo fa a una scala enorme grazie a un'architettura ingegnosa, che scopriremo. E oggi, sempre più, non serve le proprie pagine soltanto, ma sta davanti ad altre applicazioni, facendo da intermediario, da porta d'ingresso, e occupandosi di tanti compiti al confine tra il mondo esterno e l'applicazione vera. Tieni a mente questa chiave, la porta d'ingresso efficiente, e capiremo da qui tutto ciò che nginx sa fare, e perché è così amato.
Voglio anticiparti perché la sua storia sia affascinante, perché è il filo delle prossime puntate. La cosa più interessante di nginx non è che riceva richieste e serva risposte, cosa che ogni web server fa. È come riesce a farlo per un numero enorme di visitatori contemporaneamente, laddove i web server più vecchi arrancavano. Dietro nginx c'è un'idea brillante, un modo diverso di gestire tantissime connessioni allo stesso tempo, che ha risolto un problema che sembrava insormontabile. È questa idea, e il problema che ha risolto, il cuore della sua storia, e ce ne occuperemo nelle prossime due puntate. La bellezza di nginx sta nel suo come.
Per oggi ci fermiamo qui. Dopo che il DNS ti ha portato alla macchina giusta, alla porta di quella macchina c'è un programma che ti accoglie: il web server, il portiere del sito, che riceve le richieste e serve le risposte. nginx, che si pronuncia enginex, è uno dei web server più diffusi e importanti al mondo, famoso per la sua efficienza straordinaria e per il ruolo moderno di porta d'ingresso davanti ad altre applicazioni. La lente della stagione è questa: nginx come porta d'ingresso efficiente del web. E la parte più affascinante è come riesca a reggere una scala enorme, grazie a un'idea brillante. Nella prossima puntata vediamo il problema che ha dovuto risolvere. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.