Il modello client/server, anche noto come sistema client/server, è un modello di architettura di rete che, tra gli altri, implementa il World Wide Web come lo conosciamo.
Questo modello prevede la comunicazione tra due entità mediante interazioni di tipo richiesta – risposta ( in lingua inglese, request - response
).
Tra i protocolli di comunicazione che fanno uso di questo modello, troviamo quello su cui si basa Internet, ovvero Hypertext Transfer Protocol ( HTTP ).
Indice
Modello client/server: applicazione in HTTP
Nello schema di seguito troverai uno schema che rappresenta le interazioni tra client e server per il caricamento di una pagina web.
Nella prima richiesta, il client ( ovvero il browser dell’utente ), effettua una richiesta al server che si occupa di servire i contenuti del sito richiesto.
Il server in condizioni normali risponderà con il codice HTML affinché il browser del client sia in grado di disegnare la pagina web.
Il browser dopo aver ricevuto il codice HTML, lo interpreterà ed effettuerà richieste HTTP per ogni risorsa utilizzata nel codice HTML.
Nell’esempio, sono effettuate richieste per ciascun:
- file JavaScript
- file CSS
- font utilizzato
- immagine
- video
Tali richieste verranno effettuate in parallelo al server, ciascuna verrà servita dal server in maniera asincrona.
Sistema client/server: un esempio pratico
In questo esempio puoi vedere il caricamento di una pagina web.
Lo schermo è diviso in due: a sinistra troverai lo strumento sviluppatori di Google Chrome, a destra i logs di access di Apache HTTP server.
Come puoi vedere, la prima richiesta effettuata è quella per ricevere il codice HTML del sito.
Successivamente, vengono effettuate le richieste per ottenere le risorse multimediale dichiarate nel codice HTML.
Approfondimenti
Questo blog ospita numerosi articoli riguardo al Web development.
Ecco alcuni articoli:
- Tutorial HTML
- Selettori CSS: una guida pratica con esempi
- Eseguire codice JavaScript su qualunque pagina web
- File JSON: cosa sono, come si utilizzano
- Bootstrap CSS: cosa è e come utilizzarlo
- Selettore CSS elemento: ottenerlo con Chrome DevTools
Conclusioni
In questa pagina hai avuto modo di scoprire e comprendere il funzionamento del modello client/server, il sistema alla base del protocollo HTTP.