Architettura client-server, architettura di una rete di computer in cui molti client (processori remoti) richiedono e ricevono servizi da un server centralizzato (computer host). I computer client forniscono un’interfaccia che permette all’utente di richiedere i servizi del server e di visualizzare i risultati che il server restituisce. I server aspettano che le richieste arrivino dai client e poi rispondono. Idealmente, un server fornisce un’interfaccia trasparente standardizzata ai clienti in modo che i clienti non debbano essere a conoscenza delle specifiche del sistema (cioè, l’hardware e il software) che sta fornendo il servizio. I clienti sono spesso situati in postazioni di lavoro o su personal computer, mentre i server sono situati altrove nella rete, di solito su macchine più potenti. Questo modello di calcolo è particolarmente efficace quando i clienti e il server hanno compiti distinti che eseguono abitualmente. Nell’elaborazione dei dati ospedalieri, per esempio, un computer client può eseguire un programma applicativo per inserire informazioni sui pazienti mentre il computer server esegue un altro programma che gestisce il database in cui le informazioni sono memorizzate in modo permanente. Molti client possono accedere simultaneamente alle informazioni del server e, allo stesso tempo, un computer client può eseguire altri compiti, come inviare e-mail. Poiché sia i computer client che quelli server sono considerati dispositivi intelligenti, il modello client-server è completamente diverso dal vecchio modello “mainframe”, in cui un computer mainframe centralizzato eseguiva tutti i compiti per i suoi terminali “dumb” associati.