Precedentemente abbiamo parlato di cosa sono i server.
In questo articolo tratterò l'architettura Client-Server.
Cosa significa architettura?
In informatica per architettura si intende il modo in cui alcuni componenti sono collegati tra di loro, o, nel nostro caso, come dei sistemi (host) comunicano tra di loro.
Nel momento in cui parliamo di architettura client-server ci riferiamo quindi al modo in cui 2 host comunicano tra di loro.
L'architettura client-server
Arriviamo quindi al dunque.
L'architettura client-server si riferisce ad una comunicazione di 2 host tra di loro. Questi host prendono rispettivamente il nome di client e server.
In passato ho trattato riguardo cosa ci si riferisce con il termine server, ovvero un host che mette a disposizione dei servizi ad altri.
Quando si parla di client, si fa riferimento a quell'host che, connettendosi al server, andrà ad usufruire dei servizi che questo offre.
Per capire è possibile pensare ad una conversazione con una persona a cui si fa una domanda:
La persona che pone la domanda è considerabile il client.
Il client pone la domanda al server (l'interlocutore), che quindi elabora la domanda (pensa alla domanda stessa e alla risposta) e quindi comunica la risposta al client.
Questo tipo di comunicazione avviene continuamente nel mondo dei computer, ed è probabilmente il metodo più comune di ottenimento delle informazioni:
Dalle applicazioni browser (come Firefox, Chrome, Edge, Safari, etc..) che si connettono ad un server web, alle applicazioni di messaggistica, l'architettura client-server è usata quasi ovunque.
Quando si sente parlare di client, si sta quindi facendo riferimento ad un host contatta un determinato servizio.
Questo tipo di comunicazione comunque non implica che un server (inteso come host) funga sempre da server, ma potrebbe anche fungere da client, ad esempio contattando un secondo server. In questo modo il primo server fungerebbe da intermediario tra il client ed il secondo server, svolgendo contemporaneamente una funzione di server nei confronti del client, e uan funzione di client nei confronti del secondo server.