Client

Cos’è un client?

Utilizzato nelle reti domestiche e aziendali, un client è qualsiasi dispositivo hardware o software che richiede l’accesso a un servizio fornito da un server. I client sono in genere visti come il programma o l’utente richiedente in un’architettura client-server. I dispositivi client degli utenti finali includono in genere computer desktop, laptop e smartphone.

In una rete di computer, un client in un modello client-server è ciò che richiede un servizio o una risorsa da un server. Il server può essere situato in sede o fuori sede.

Indice

In che modo un client interagisce con un server?

In un’architettura client-server, i client interagiscono con i server effettuando richieste di dati o risorse che il client non è in grado di fornire. Client e server possono trovarsi in aree diverse e connettersi tramite una rete. Possono anche trovarsi sulla stessa macchina e connettersi tramite comunicazioni interprocesso.

Un framework di applicazioni distribuite divide le attività tra server e client. Le attività che possono essere completate dal client sono in genere definite lato client, mentre le attività completate da un server sono definite lato server.

I server in genere forniscono risorse come file, dati, accesso a Internet, storage esterno o potenza di elaborazione. Il server affida a uno o più programmi la responsabilità di distribuire tali servizi ai client richiedenti.

Client e server comunicano in un modello di messaggistica richiesta-risposta definito da un protocollo di comunicazione, come Transmission Control Protocol/Internet Protocol (TCP/IP). Il protocollo definisce il linguaggio e i modelli di dialogo utilizzati. TCP, ad esempio, mantiene una connessione tra client e server fino alla fine di uno scambio di messaggi. TCP determina anche come distribuire i dati dell’applicazione, trasferisce e riceve pacchetti e gestisce eventuali pacchetti eliminati. Se un server riceve un gran numero di richieste contemporaneamente, le richieste vengono organizzate in un sistema di pianificazione basato sulla priorità. Con gli strumenti di controllo dell’accesso client, un utente può gestire l’accesso ai server.

client server rapporto richiesta domanda

Lato client vs. lato server

Il lato client è un’azione o un’operazione che si verifica sul lato utente, mentre il lato server si riferisce ad azioni o operazioni che si verificano su un server.

Ad esempio, gli script JavaScript sono lato client, in quanto vengono eseguiti da un browser, che è il client. Gli script Common Gateway Interface sono lato server, in quanto vengono eseguiti su un server.

Un server, ad esempio, potrebbe essere un Application Server, un computer separato, un database server o un web server. Quando un programma o un dispositivo non ha le risorse per completare un’operazione, agirà come client, inviando una richiesta a un server, e quell’operazione avverrà lato server.

 

Tipi di client

Di seguito vengono esaminati i quattro modi per definire i diversi tipi di client:

  • Thick client. I thick client forniscono la maggior parte delle risorse e dell’elaborazione dei dati. Questi client si affidano solo leggermente a un server; invece, eseguono la maggior parte delle operazioni lato client.
  • Thin client. Questi client leggeri si affidano molto a un server per le risorse e per eseguire la maggior parte dell’elaborazione dei dati.
  • Hybrid client. I hybrid client sono una combinazione di thin e thick client. Questo tipo di client elabora i dati localmente ma si affida a un server per archiviare i dati persistenti.
  • Zero client. I zero client sono più sottili e più convenienti dei thin client. Questi dispositivi client non richiedono alcuna configurazione e non hanno nulla archiviato su di essi. Inoltre, consumano meno energia rispetto ai thick o thin client.

Esempi client-server

Esempi di relazioni client-server includono:

Un browser web è essenzialmente un client che richiede pagine da server in tutto il web. Il browser è il client che invia richieste mentre un server in un’altra posizione restituisce il file Hypertext Markup Language (HTML). Il computer che gestisce la richiesta e invia il file HTML è un server.

I file server sono computer responsabili dell’archiviazione e della gestione dei file di dati, consentendo agli utenti di condividere informazioni su una rete senza dover trasferire fisicamente i file. Esempi di file server includono un dispositivo di archiviazione collegato alla rete o un computer separato che può ospitare file condivisi.

Il protocollo di trasferimento file è un protocollo di rete client-server utilizzato per trasmettere file tra computer tramite connessioni TCP/IP. Il protocollo client-server si basa su due canali di comunicazione tra il client e il server: un canale di comando per controllare la conversazione e un canale dati per trasmettere il contenuto del file.