Sistema Client/Server: architettura e funzionamento
Il sistema Client Server, fondamentale per il funzionamento di servizi come gli hosting, si basa su due elementi. Il primo è il Server, una macchina che mette a disposizione contenuti web statici e dinamici, ma anche software e hardware connessi alla rete, ai quali si può accedere sia via browser, sia via FTP.
Al Server può essere demandata anche la gestione delle banche dati, così come ciò che riguarda il loro aggiornamento. Un esempio molto conosciuto è quello del server di posta elettronica, che può essere paragonato a un ufficio postale. Il termine Server può essere associato a qualsiasi programma sia in grado di offrire un servizio accessibile sulla rete, di eseguirlo e di offrire un output all’utente.
Con il termine Client, si inquadra invece una serie di dispositivi che sono connessi alla rete e che possono accedere alle risorse offerte dal Server mediante protocollo HTTP/HTTPS. Il Client, in poche parole, altro non è che il device da cui si lavora.
Sul device Client sono in funzione dei software applicativi, ossia i programmi Client. I suddetti programmi svolgono diversi compiti. Il primo consiste nel permettere all’utente di inviare una richiesta di informazioni al Server.
Il secondo, invece, prevede la formattazione della richiesta in modo da renderla comprensibile al Server. Il terzo e ultimo compito prevede che la risposta del Server sia formattata a sua volta, diventando comprensibile per l’utente.
Il sistema Client Server, la cui affermazione è fortemente legata alla disponibilità di reti mobile a costo contenuto e alla diffusione di Internet, è quindi una vera e propria architettura per moduli integrati ma tra loro distinti, che consente ai siti web – soprattutto dinamici – di funzionare in maniera trasparente. Risulta molto utile anche per il funzionamento dei Server per le stampanti.
Si tratta di un modello che comporta diversi vantaggi, in primis l’efficienza. Ogni singolo Client, grazie a questa peculiarità, può usufruire di una velocità di servizio ottimale. Le singole richieste vengono infatti gestite in maniera indipendente, senza sovrapposizioni di alcun genere.
La comunicazione tra Client e Server, che necessita di un linguaggio comune, è indipendente dal sistema operativo, in quanto è gestita dai già citati protocolli, che possono essere sia in chiaro, sia crittografati.
Avviene tramite canali a cui è già stato fatto cenno in precedenza. In questo novero è possibile includere l’FTP, particolarmente utile per scaricare file in maniera rapida, ma anche dell’SSH, un protocollo che consente di inviare al Server comandi molto avanzati.
Tutti i protocolli elencati in queste righe devono appoggiare su protocolli di rete TCP/IP e sul DNS, così da poter scambiare richieste attraverso la rete.
La comunicazione tra gli elementi del sistema Client Server, prevede inoltre che il trasferimento di dati sia preceduto da uno scambio di pacchetti di controllo. La procedura in questione, nota come handshaking, prepara i due moduli a un’interazione ottimale.
Molto importante è ricordare che il numero di richieste che arrivano al Server da parte dei Client non è assolutamente prevedibile e avviene in maniera asincrona. In alcuni casi, i Server possono infatti avere una vera e propria coda di richieste in attesa di smaltimento. In situazioni del genere si ha a che fare con un sovraffollamento. Spetta al gestore il compito di gestire le richieste e di concretizzare un aumento delle risorse disponibili.
Possono capitare anche eventualità in cui la coda di richieste viene gonfiata artificialmente. Si tratta però di attacchi informatici di tipo DOS o DDOS al sistema Client Server, contraddistinti dalla manipolazione mirata di uno o più Client.
