Client-Server-Modell: Ablauf einfach erklärt
Beim Client-Server-Modell fordert ein Client einen Dienst an, den ein Server bereitstellt. Dazu sendet der Client einen Request. Der Server verarbeitet die Anfrage und schickt eine Response mit einem Ergebnis, Daten oder einer Fehlermeldung zurück.
Auf dieser Seite lernst du, die Rollen sicher zu unterscheiden, einen vollständigen Ablauf zu erklären und das Modell von Peer-to-Peer-Netzen abzugrenzen.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Client und Server sind Rollen
Ein Client nutzt einen Dienst. Ein Server stellt diesen Dienst für einen oder mehrere Clients bereit. Beide Begriffe beschreiben zunächst Aufgaben von Komponenten und nicht bestimmte Geräte.
Client
Ein Client ist eine Software- oder Hardwarekomponente, die einen Serverdienst anfordert. Beispiele sind ein Browser, ein E-Mail-Programm oder ein Arbeitsplatzrechner.
Server
Ein Server ist eine Software- oder Systemkomponente, die Anfragen empfängt, verarbeitet und beantwortet. Er kann zum Beispiel Webseiten, Dateien, E-Mails oder Datenbankeinträge bereitstellen.
Ein Rechner kann mehrere Rollen übernehmen. Client- und Serverprogramme können sogar auf demselben Rechner laufen. Entscheidend ist, welche Komponente einen Dienst anfordert und welche ihn bereitstellt.
Nicht das Aussehen eines Geräts entscheidet über seine Rolle, sondern seine Aufgabe in der Kommunikation: Der Client fordert an, der Server stellt bereit.
So laufen Request und Response ab
Die Kommunikation folgt einem wiederkehrenden Muster:
- Der Client benötigt einen Dienst oder eine Ressource.
- Er sendet eine Anfrage, den Request.
- Der Server verarbeitet den Request oder greift auf eine Ressource zu.
- Er sendet eine Antwort, die Response.
- Die Response enthält das Ergebnis, angeforderte Daten oder eine Fehlermeldung.
Request und Response
Ein Request ist die Anfrage des Clients. Eine Response ist die dazugehörige Antwort des Servers.
Du öffnest im Browser eine Webseite.
- Der Browser übernimmt die Clientrolle.
- Er sendet einen Request an den Webserver.
- Der Webserver verarbeitet die Anfrage und sucht die angeforderten Inhalte.
- Er liefert beispielsweise ein HTML-Dokument, Bilder oder eine Fehlermeldung als Response.
- Der Browser bereitet die erhaltenen Inhalte für dich auf.
Der entscheidende Gedanke lautet: Das Anzeigen der Seite macht den Browser nicht zum Server. Der Browser hat die Inhalte angefordert und bleibt daher in diesem Ablauf der Client.
Auch eine Restaurantanalogie hilft: Ein Gast bestellt, die Küche verarbeitet die Bestellung und das Essen wird zurückgebracht. Die Analogie zeigt Anfrage, Verarbeitung und Antwort. Der Übertragungsweg zwischen Gast und Küche entspricht dabei nur vereinfacht der Kommunikation im Netzwerk.
Protokolle und Dienste ordnen die Kommunikation
Client und Server müssen nach gemeinsamen Regeln kommunizieren. Solche Regeln heißen Protokolle.
Protokoll
Ein Protokoll legt fest, wie Client und Server Daten austauschen. Dazu gehören beispielsweise das Datenformat, der Aufruf eines Dienstes und die Bedeutung der übertragenen Daten.
Der gewünschte Dienst bestimmt, welches Protokoll und welche Daten benötigt werden. Typische Zuordnungen sind:
| Serverart | Bereitgestellter Dienst | Beispiel für eine Clientaktion |
|---|---|---|
| Webserver | Webinhalte bereitstellen | Eine Webseite anfordern |
| Dateiserver | Dateien und Zugriffsrechte verwalten | Eine Datei abrufen |
| Druckserver | Druckaufträge und Warteschlangen verwalten | Einen Druckauftrag senden |
| E-Mail-Server | E-Mails empfangen, speichern und senden | Eine E-Mail abrufen |
| Datenbankserver | Daten speichern und bearbeiten | Datensätze abfragen |
| Anwendungsserver | Anwendungslogik ausführen | Einen Geschäftsprozess anstoßen |
HTTP ist ein Beispiel für ein Protokoll bei Webanwendungen. Bei E-Mail-Diensten werden unter anderem SMTP, POP3 und IMAP verwendet. Für Dateiübertragungen kommen je nach Dienst beispielsweise FTP, SFTP oder SMB vor.
Der Server stellt einen Dienst bereit. Das Protokoll beschreibt die Regeln, nach denen Client und Server über diesen Dienst sprechen.
Verarbeitung kann unterschiedlich verteilt sein
Das Grundmodell schreibt nicht vor, dass der Server sämtliche Arbeit erledigt. Verarbeitung und Speicherung können unterschiedlich auf Client und Server verteilt werden.
Thin Client
Ein Thin Client übernimmt vor allem Ein- und Ausgabe. Ein großer Teil der Verarbeitung und Speicherung findet auf dem Server statt. Dadurch ist seine Abhängigkeit vom Server hoch.
Thick Client
Ein Thick Client, auch Fat Client genannt, verarbeitet und speichert vieles lokal. Er kann trotzdem zentrale Ressourcen eines Datei- oder Datenbankservers nutzen.
In einem Büro zeigt ein einfaches Arbeitsplatzgerät nur die Oberfläche einer zentralen Kundendatenverwaltung. Berechnung und Speicherung erfolgen auf dem Server. Das ist eine typische Thin-Client-Ausprägung.
Auf einem anderen Arbeitsplatz läuft eine Textverarbeitung vollständig auf dem Laptop. Das Gerät verarbeitet und speichert Dokumente lokal, kann sie aber zusätzlich auf einem Dateiserver ablegen. Dies entspricht eher einem Thick Client.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Ein ist stark von serverseitiger Verarbeitung abhängig. Ein erledigt einen größeren Teil der Verarbeitung lokal. In beiden Fällen fordert die Clientkomponente einen beim Server an.
Zentrale Dienste und Peer-to-Peer vergleichen
Die zentrale Bereitstellung kann Verwaltung erleichtern: Daten, Anwendungen und Zugriffsrechte lassen sich an einer gemeinsamen Stelle organisieren. Mehrere Clients können denselben Dienst nutzen.
Die Zentralisierung bringt zugleich Risiken mit sich. Viele gleichzeitige Anfragen können einen Server überlasten. Fällt ein benötigter Server aus, ist sein Dienst für die betroffenen Clients nicht verfügbar. Einrichtung und Wartung können außerdem Kosten und Fachwissen erfordern. Server und angegriffene Clients können Ziele beziehungsweise Ausgangspunkte von Angriffen sein.
Peer-to-Peer
In einem Peer-to-Peer-Netzwerk, kurz P2P, gibt es nicht für alle Anfragen einen zentralen Server. Teilnehmer können Ressourcen anfordern und selbst bereitstellen. Sie können daher zugleich Client- und Serverrollen übernehmen.
| Client-Server | Peer-to-Peer |
|---|---|
| Dienste werden von Serverkomponenten bereitgestellt. | Teilnehmer können Dienste untereinander bereitstellen. |
| Client- und Serverrollen sind im jeweiligen Ablauf getrennt. | Ein Teilnehmer kann beide Rollen übernehmen. |
| Zentrale Verwaltung ist möglich. | Die Bereitstellung ist dezentral organisiert. |
Ein einzelner Rechner kann auch im Client-Server-Modell verschiedene Rollen ausführen. Der Unterschied zu P2P liegt deshalb nicht einfach in der Zahl oder Bauform der Geräte, sondern in der Organisation der Dienste und Rollen.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Client-Server-Modell
- Client fordert einen Dienst an
- Request übermittelt die Anfrage
- Protokoll regelt den Datenaustausch
- Server verarbeitet die Anfrage
- Response liefert Ergebnis, Daten oder Fehlermeldung
- Thin und Thick verteilen Verarbeitung unterschiedlich
- Peer-to-Peer organisiert Dienste dezentral
Mit Google fortfahren