In Informatica, il client-server è un modello di architettura software costituito da due parti, sistemi client e sistemi server, che comunicano entrambi attraverso una rete di computer o sullo stesso computer. Un'applicazione client-server è un sistema distribuito composto da software sia client che server. Il processo client avvia sempre una connessione al server, mentre il processo server attende sempre le richieste di qualsiasi client.
Quando sia il processo client che il processo server sono in esecuzione sullo stesso computer, questo si chiama "single seat setup".
Un altro tipo di architettura software correlata è nota come peer-to-peer, perché ogni istanza di host o applicazione può agire contemporaneamente sia come client che come server (a differenza dei server centralizzati del modello client-server) e perché ognuno ha responsabilità e stato equivalenti. Le architetture peer-to-peer sono spesso abbreviate con l'acronimo P2P.
Il rapporto cliente-server descrive la relazione tra il cliente e il modo in cui effettua una richiesta di servizio al server, e come il server può accettare tali richieste, elaborarle e restituire le informazioni richieste al cliente. L'interazione tra client e server è spesso descritta utilizzando diagrammi di sequenza. I diagrammi di sequenza sono standardizzati nel linguaggio di modellazione unificato.
Sia l'architettura client-server che quella P2P sono oggi ampiamente utilizzate.
Il tipo base dell'architettura software client-server impiega solo due tipi di host: client e server. Questo tipo di architettura viene talvolta definito a due livelli. L'architettura a due livelli significa che il client agisce come un livello e il processo server agisce come l'altro livello.
L'architettura software client-server è diventata uno dei modelli di base del network computing. Molti tipi di applicazioni sono stati scritti utilizzando il modello client-server. Le funzioni standard in rete, come lo scambio di e-mail, l'accesso al web e l'accesso al database, si basano sul modello client-server. Ad esempio, un browser web è un programma client sul computer dell'utente che può accedere alle informazioni su qualsiasi server web nel mondo.


