Blog dedicato a chi ama sviluppare siti web e software, in casa! Nel blog è possibile trovare tutorial, guide, corsi, sui principali applicativi per sviluppare siti web: Joomla, PrestaShop, Magento, Wordpress, Shopify. Ma anche argomenti utili per conoscere più da vicino linguaggi e database come Drupal, Linux, Php, MySQL. Come sviluppare siti web e software

Cos’è il client e come funziona

Cos’è il client e come funziona

By francesco

Nell’operazione di utilizzo di un qualsivoglia computer, non siamo soliti domandarci quali attori entrano in gioco per fornire l’output desiderato. La macchina che utilizziamo infatti è composta da una serie di elementi, che proprio come gli ingranaggi dell’orologio, permettono il corretto funzionamento del computer. Tra questi ha un ruolo determinante il Client, cioè la componente software interna che comunica con il server esterno, attraverso l’uso di specifici protocolli di comunicazione. Il cliente, volendo italianizzare il termine, quindi si occupa di inviare l’input di ricerca al server digitale per poi rielaborare la risposta in modo che possa essere leggibile all’utente che ha effettuato la richiesta. Restando legati all’ambito delle reti e dell’informatica può sembrare un concetto complicato forse, motivo per cui è meglio avvalersi di alcuni esempi esplicativi per capire quale ruolo cruciale svolga il client in quella che viene definita architettura client-server. Niente di troppo complicato in fondo, ma che necessita comunque di chiarezza per poter essere compreso. 

Il ruolo del client nella comunicazione con il server

Per comprendere al meglio il funzionamento e la terminologia legata a questo schema meglio avvalersi di un esempio pratico legato al mondo reale. Il barista che apre un’attività e offre un servizio consideriamolo come il server mentre i clienti, come facile immaginare, sarà invece il client pronto a fare richiesta. I clienti sono solitamente in numero maggiore rispetto al fornitore del servizio, le loro richieste arrivano con cadenza prevedibile, ma non predeterminata, e i tempi di servizio sono solitamente brevi rispetto al tempo di ‘apertura’ del fornitore. Stessa cosa che accade in una rete informatica in cui tramite un computer parte la richiesta verso il server che offre uno o più servizi, tramite l’uso di uno o più protocolli di rete, come nel caso del client hardware. Questo processo dà origine ad un tipo di architettura di cui abbiamo già parlato, quella client-server.  

L’architettura client-server

La maggior parte dei software che ormai siamo soliti utilizzare, come ad esempio il web, la posta elettronica o i database, sono suddivisi in una parte cliente, installata e facente parte del PC utilizzato, e di una parte server, digitale e presente online. Prendendo come esempio il web, il client è fornito dal browser che permette di inviare la query comunicando attraverso il protocollo HTTP, o meglio ancora in modo crittografato attraverso quello HTTPS. Per il provider di posta invece, il client è definito mail user agent o MUA (ad esempio, Outlook, Mozilla Thunderbird, Gmail, ecc.) e comunica con il server nuvola il protocollo SMTP e POP o IMAP. Nonostante, un’enorme diffusione dell’infrastruttura basata su questo principio, sta venendo progressivamente sostituita da quella basata su browser, con il servizio erogato tramite applicazione web. Questo ha portato alla nascita di una modalità mista, che riunisce entrambe le soluzioni.