Wikipedia · einfach zusammengefasst · Stand
Client-Server-Modell
Das Client-Server-Modell (auch Client-Server-Konzept, -Architektur, -System oder -Prinzip genannt) beschreibt eine Möglichkeit, Aufgaben und …
Inhalt4 Abschnitte
Grundprinzip
Das Client-Server-Modell ist ein Standardkonzept zur Verteilung von Aufgaben und Dienstleistungen innerhalb eines Netzwerks. Computer oder Programme übernehmen dabei getrennte Rollen: Ein Client fordert einen Dienst an, während ein Server diesen Dienst bereitstellt und die Anfrage beantwortet. Der Server kann sich auf demselben Rechner wie der Client oder auf einem anderen Rechner im Netzwerk befinden und üblicherweise mehrere Clients gleichzeitig bedienen.
Als Dienst gilt jede Aufgabe, die ein Server für Clients übernimmt. Dazu gehören Standardaufgaben wie E-Mail-Versand, E-Mail-Empfang und Web-Zugriff, aber auch besondere Aufgaben einzelner Programme. Eine Gruppe von Servern kann mehrere Dienste anbieten, beispielsweise als Mail-Server, Web-Server, Anwendungsserver oder Datenbank-Server.
Begriffe und Kommunikation
Ein Server ist ein Programm beziehungsweise Prozess, das mit einem Client kommuniziert und ihm Zugang zu einem Dienst verschafft. „Server“ bezeichnet eine Rolle, die sowohl auf Geräteebene als Server-Host als auch auf Softwareebene als Server-Anwendung verstanden werden kann. Ein Client ist ein Programm oder Prozess, das einen vom Server bereitgestellten Dienst anfordert.
Eine Anfrage des Clients heißt Request, die Antwort des Servers Response. Ein Kommunikationsprotokoll legt fest, wie die Datenübertragung zwischen Client und Server abläuft. Für den jeweiligen Dienst bestimmt es unter anderem das Datenformat, den Aufruf des Servers und die Bedeutung der ausgetauschten Daten.
Ein Server wartet grundsätzlich auf Kontaktaufnahmen und reagiert auf Anforderungen; er verhält sich damit passiv. Der Client wird aktiv, indem er einen Dienst anfordert. Ein Host kann allerdings sowohl Server- als auch Clientrollen übernehmen.
Die Begriffe Server, Daemon und Service sind nicht gleichbedeutend. Daemonen und Services sind Programme, die im Hintergrund laufen. Ein Server ist immer auch ein Daemon, aber nicht jeder Daemon ist ein Server: Ein automatisch arbeitendes Backup-Programm oder der „network time protocol daemon“ ntpd kann als Client auftreten. Manche Daemonen und Services kommunizieren mit niemandem und sind daher weder Client noch Server.
Abgrenzung zu Peer-to-Peer
Beim Client-Server-Modell sind die Komponenten Client und Server grundsätzlich getrennt. Im Peer-to-Peer-Modell („Gleiche zu Gleichen“) kann ein Netzwerkteilnehmer dagegen gleichzeitig Client und Server sein.
Aufbau eines Systems und Datenbankbeispiel
Ein Client-Server-System ist ein System, das seine Aufgaben und Funktionen nach dem Client-Server-Modell ausführt. Es besteht mindestens aus einer Server-Komponente und einer Client-Komponente.
Ein typisches Beispiel ist ein System mit einem zentralen Datenbankserver und mehreren Benutzer-Clients. Das Anwendungsprogramm auf dem Client stellt die Benutzerschnittstelle bereit, über die ein Benutzer im Netzwerk auf die Ressourcen des Datenbankservers zugreift. Zum Lesen und Pflegen der Daten sendet der Client SQL-Befehle als Requests an den Server. Der Server führt die Befehle aus und liefert das Ergebnis – Daten oder eine Fehlermeldung – als Response an den Client zurück.