Ein Server ist ein Programm, das einen Service anbietet. Der Client nutzt diesen Service. Als Client wird ein Computerprogramm bezeichnet, welches Verbindung mit einem Server aufnimmt um Nachrichten mit diesem auszutauschen.
Das Client-Server-Modell sieht vor, dass der Client eine Anfrage (Request) an den Server stellt. Der Server wertet diese aus und liefert eine Antwort (Response). Beide Teilnehmer haben unterschiedliche Rollen, die Interaktion zwischen beiden über Protokolle definiert. Ein Client-Server-Protokoll sieht vor, dass immer nur der Client die Verbindung zum Server aufbaut, nie umgekehrt.
Im Zusammhang mit dem Client-Server-Modell spricht manchmal auch von einer Architektur, dem Prinzip oder einem serverbasierten Netzwerk. Der Server spielt hier eine zentrale Rolle. Man spricht von dedizierten Servern, auf denen keine regulären Anwendungsprogramme, sondern spezielle Serversoftware und -dienste ausgeführt werden. Der Server speichert und verwaltet zentral wichtig Daten und liefert diese bei Bedarf an die Clients aus.
Eine Datenaustausch zwischen Clients läuft also immer über den Server.
Viele Internet-Protokolle arbeiten nach dem Client-Server-Prinzip. Zum Beispiel HTTP und HTTPS für das World Wide Web oder SMTP, IMAP und POP für die Mail-Kommunikation. Aber auch DNS, DHCP und Dateifreigaben funktionieren nach dem Cleint-Server-Modell.