In de informatica is de client-server een software-architectuurmodel dat bestaat uit twee delen, namelijk client-systemen en serversystemen, die beide communiceren via een computernetwerk of op dezelfde computer. Een client-server applicatie is een gedistribueerd systeem dat bestaat uit zowel client- als serversoftware. De client-server applicatie biedt een betere manier om de werklast te delen. Het client-proces initieert altijd een verbinding met de server, terwijl het serverproces altijd wacht op verzoeken van een client.

Wanneer zowel het clientproces als het serverproces op dezelfde computer draaien, wordt dit een single seat setup genoemd.

Een ander type gerelateerde softwarearchitectuur staat bekend als peer-to-peer, omdat elke host of applicatie-instantie tegelijkertijd als client en als server kan optreden (in tegenstelling tot gecentraliseerde servers van het client-server-model) en omdat elk ervan gelijkwaardige verantwoordelijkheden en status heeft. Peer-to-peer architecturen worden vaak afgekort met het acroniem P2P.

De client-server relatie beschrijft de relatie tussen de client en hoe deze een serviceaanvraag doet aan de server, en hoe de server deze aanvragen kan accepteren, verwerken en de gevraagde informatie kan retourneren aan de client. De interactie tussen client en server wordt vaak beschreven aan de hand van sequentiediagrammen. De sequentiediagrammen zijn gestandaardiseerd in de Unified Modeling Language.

Zowel de client-server als de P2P-architecturen worden tegenwoordig veel gebruikt.

Het basistype client-server softwarearchitectuur maakt gebruik van slechts twee soorten hosts: clients en servers. Dit type architectuur wordt ook wel two-tier genoemd. De two-tier-architectuur houdt in dat de client als één niveau fungeert en het serverproces als het andere niveau.

De client-server softwarearchitectuur is een van de basismodellen van network computing geworden. Vele soorten applicaties zijn geschreven met behulp van het client-server model. Standaard netwerkfuncties zoals e-mailuitwisseling, webtoegang en databasetoegang zijn gebaseerd op het client-server model. Een webbrowser is bijvoorbeeld een clientprogramma op de gebruikerscomputer dat toegang heeft tot informatie op elke webserver ter wereld.