← Tutti gli episodi
Copertina di Il linguaggio dei servizi: i protocolli applicativi
Stagione 17 · Episodio 008

Il linguaggio dei servizi: i protocolli applicativi

27 agosto 2026 5:30
0:00 5:30

Ciao, e benvenuto nell'ottava puntata della diciassettesima stagione. Nelle scorse puntate abbiamo costruito, strato dopo strato, la fondazione di internet: i pacchetti, il patto universale, l'instradamento, i nomi. Oggi saliamo finalmente in cima alla torre, allo strato più alto, quello a diretto contatto con noi: lo strato dei servizi che usiamo ogni giorno. E scopriamo che, sopra la fondazione comune, ogni servizio parla il proprio linguaggio specializzato. Sono i protocolli applicativi, e capirli spiega perché internet può ospitare una varietà infinita di servizi diversi.

Ripartiamo da dove eravamo. Finora abbiamo costruito il trasporto universale: la capacità di far arrivare, in modo affidabile, dei dati da una macchina qualsiasi a un'altra, ovunque nel mondo. Ma questo trasporto, da solo, è come una rete postale che sa consegnare buste dovunque: è preziosa, ma non dice nulla su cosa ci sia scritto dentro le buste, né su che tipo di conversazione stiano avendo mittente e destinatario. Sopra il trasporto, serve ancora qualcosa: un accordo su cosa si scrivono, su come è fatta la conversazione specifica tra un certo tipo di servizio e chi lo usa. E qui entrano i protocolli applicativi.

Un protocollo applicativo è il linguaggio specifico di un particolare servizio: definisce come si svolge la conversazione per quel tipo di attività. Facciamo gli esempi che conosci. Quando visiti un sito, c'è un protocollo apposito che regola la conversazione tra il tuo browser e il sito: il tuo browser chiede una pagina in un certo modo, e il sito risponde inviandola in un certo formato. Quando mandi una email, c'è un altro protocollo, diverso, che regola come una email viene consegnata da un server all'altro. Per trasferire file, un altro protocollo ancora. Ognuno di questi è un linguaggio su misura per un tipo specifico di conversazione, con le sue regole e i suoi convenevoli.

Voglio che tu colga il rapporto tra questi linguaggi specializzati e la fondazione comune sotto, perché è il punto centrale. Tutti questi protocolli applicativi diversi, quello del Web, quello della posta, quello dei file, non si preoccupano affatto di come i dati viaggiano fisicamente, di come vengono instradati i pacchetti, di come si garantisce l'affidabilità. Tutto questo lo danno per scontato, appoggiandosi al trasporto universale sotto di loro, esattamente come previsto dalla logica degli strati. Ciascuno si concentra solo sul suo livello: il significato della conversazione per quel servizio. È la separazione degli strati che permette a tanti linguaggi diversi di fiorire sulla stessa identica fondazione, senza doverla reinventare.

Fermiamoci ad apprezzare quanto questo sia potente e fecondo, perché è la ragione della ricchezza di internet. Siccome la fondazione, il trasporto universale, è comune e condivisa, chiunque voglia creare un nuovo tipo di servizio non deve ricostruire da zero come far viaggiare i dati nel mondo: gli basta inventare un nuovo protocollo applicativo, un nuovo linguaggio per la sua conversazione specifica, e appoggiarlo alla fondazione esistente. È per questo che sopra internet sono potuti sbocciare innumerevoli servizi diversi, il Web, la posta, le chat, le videochiamate, e mille altri, ciascuno con il suo linguaggio, tutti sulla stessa base condivisa. La fondazione comune è un terreno fertile su cui chiunque può piantare il proprio servizio.

Voglio soffermarmi un momento sul Web, perché è il servizio che ci è più familiare e che riprende la stagione sui browser. Ricordi tutta la stagione dedicata ai browser e agli standard del Web? Ebbene, ora possiamo collocare il Web al suo posto preciso in questo quadro: il Web è uno dei tanti servizi che vivono sopra internet, con il suo protocollo applicativo specifico per scambiare pagine tra browser e siti. Il Web non è internet: è una delle tante cose che girano sopra internet. Internet è la fondazione, il trasporto universale; il Web è un magnifico servizio costruito su quella fondazione, uno tra i tanti. Distinguere le due cose, internet sotto e il Web sopra, chiarisce un equivoco comune e mostra la bellezza della stratificazione.

C'è un ultimo dettaglio pratico che voglio darti, perché riprende cose viste in altre stagioni e completa il quadro. Su una stessa macchina possono girare più servizi diversi contemporaneamente, ciascuno con il suo protocollo: magari un sito e un servizio di posta sulla stessa macchina. Come fa un pacchetto in arrivo a sapere a quale servizio è destinato? Attraverso l'idea delle porte, quegli sportelli numerati di cui parlavamo con Docker e con Linux: ogni tipo di servizio ascolta a una sua porta specifica, un suo sportello dedicato, così che i dati destinati al Web vadano allo sportello del Web e quelli destinati alla posta allo sportello della posta. Le porte permettono a una macchina di offrire più servizi distinti senza confonderli.

Per oggi ci fermiamo qui. Sopra il trasporto universale di internet, che sa far arrivare dati ovunque ma non dice nulla sul loro contenuto, vivono i protocolli applicativi: i linguaggi specifici dei singoli servizi, uno per il Web, uno per la posta, uno per i file, ciascuno che regola la sua conversazione particolare. Grazie alla logica degli strati, tutti si appoggiano alla stessa fondazione senza reinventarla, ed è per questo che innumerevoli servizi diversi hanno potuto sbocciare su una base comune. Il Web è solo uno di questi servizi, non internet stesso. E le porte permettono a una macchina di ospitare più servizi distinti. Nella prossima puntata affrontiamo un tema delicato: la sicurezza e la fiducia. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.