Informatik

Client-Server-Modell: Ablauf einfach erklärt

Client-Server-Modell: Ablauf einfach erklärt
Client-Server-Modell: Ablauf einfach erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

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.

Deine Lernziele

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.

Definition

Client

Ein Client ist eine Software- oder Hardwarekomponente, die einen Serverdienst anfordert. Beispiele sind ein Browser, ein E-Mail-Programm oder ein Arbeitsplatzrechner.

Definition

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.

Merke

Nicht das Aussehen eines Geräts entscheidet über seine Rolle, sondern seine Aufgabe in der Kommunikation: Der Client fordert an, der Server stellt bereit.

Teste dich
Frage 1 von 2LeichtWoran erkennst du in einer Kommunikation den Client?
Lösung: Er fordert einen Dienst an. — Der Client beginnt die Interaktion, indem er einen Serverdienst anfordert.
Frage 2 von 2MittelAuf einem Laptop laufen ein Browser und ein lokaler Test-Webserver. Welche Aussage stimmt?
Lösung: Der Laptop kann gleichzeitig Client- und Serverprogramme ausführen. — Der Browser fordert als Client Inhalte an. Das Webserverprogramm stellt sie bereit. Beide Programme können auf demselben Rechner laufen.
So laufen Request und Response ab

Die Kommunikation folgt einem wiederkehrenden Muster:

  1. Der Client benötigt einen Dienst oder eine Ressource.
  2. Er sendet eine Anfrage, den Request.
  3. Der Server verarbeitet den Request oder greift auf eine Ressource zu.
  4. Er sendet eine Antwort, die Response.
  5. Die Response enthält das Ergebnis, angeforderte Daten oder eine Fehlermeldung.
Definition

Request und Response

Ein Request ist die Anfrage des Clients. Eine Response ist die dazugehörige Antwort des Servers.

Beispiel

Du öffnest im Browser eine Webseite.

  1. Der Browser übernimmt die Clientrolle.
  2. Er sendet einen Request an den Webserver.
  3. Der Webserver verarbeitet die Anfrage und sucht die angeforderten Inhalte.
  4. Er liefert beispielsweise ein HTML-Dokument, Bilder oder eine Fehlermeldung als Response.
  5. 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.

Teste dich
Frage 1 von 2MittelEin Drucker kann einen Auftrag nicht ausführen. Wie passt eine Fehlermeldung in das Modell?
Lösung: Der Client sendet den Auftrag als Request und erhält die Fehlermeldung als Response. — Request und Response werden durch ihre Richtung bestimmt: Anfrage vom Client, Antwort vom Server.
Frage 2 von 2SchwerEin Datenbankserver erhält eine gültige Anfrage, findet aber keinen passenden Datensatz. Was bleibt am Ablauf gleich?
Lösung: Auf den Request folgt trotzdem eine Response mit einem Ergebnis oder einer passenden Meldung. — Ob Daten gefunden werden, beeinflusst den Inhalt der Response, aber nicht das Grundmuster der Kommunikation.
Protokolle und Dienste ordnen die Kommunikation

Client und Server müssen nach gemeinsamen Regeln kommunizieren. Solche Regeln heißen Protokolle.

Definition

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:

ServerartBereitgestellter DienstBeispiel für eine Clientaktion
WebserverWebinhalte bereitstellenEine Webseite anfordern
DateiserverDateien und Zugriffsrechte verwaltenEine Datei abrufen
DruckserverDruckaufträge und Warteschlangen verwaltenEinen Druckauftrag senden
E-Mail-ServerE-Mails empfangen, speichern und sendenEine E-Mail abrufen
DatenbankserverDaten speichern und bearbeitenDatensätze abfragen
AnwendungsserverAnwendungslogik ausführenEinen 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.

Merke

Der Server stellt einen Dienst bereit. Das Protokoll beschreibt die Regeln, nach denen Client und Server über diesen Dienst sprechen.

Teste dich
Frage 1 von 2LeichtWelche Aufgabe hat ein Protokoll?
Lösung: Es legt Regeln für den Datenaustausch fest. — Ein Protokoll regelt die Kommunikation, etwa das Format und die Bedeutung der ausgetauschten Daten.
Frage 2 von 2MittelEin Mailprogramm fordert eine gespeicherte Nachricht an. Welche Zuordnung passt?
Lösung: Mailprogramm: Client; E-Mail-Server: Server; Abruf: Request — Datenverarbeitung allein bestimmt die Rolle nicht. Entscheidend ist, wer den Dienst anfordert und wer ihn bereitstellt.
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.

Definition

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.

Definition

Thick Client

Ein Thick Client, auch Fat Client genannt, verarbeitet und speichert vieles lokal. Er kann trotzdem zentrale Ressourcen eines Datei- oder Datenbankservers nutzen.

Beispiel

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.

Lückentext

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.

Lösungen: Lücke 1: Thin Client; Lücke 2: Thick Client; Lücke 3: Dienst. Thin und Thick beschreiben die Verteilung der Arbeit. Beide bleiben Clients, wenn sie einen Serverdienst anfordern.
Teste dich
Frage 1 von 1SchwerEine Webanwendung verarbeitet Eingaben vollständig auf dem Server. Der Browser zeigt Ergebnisse an und nimmt neue Eingaben entgegen. Welche Einordnung passt am besten?
Lösung: Die Verarbeitung liegt überwiegend beim Server; der Browser arbeitet als eher dünner Client. — Die Verteilung der Verarbeitung kann variieren. Die Clientrolle des Browsers ergibt sich weiterhin aus dem Anfordern des Dienstes.
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.

Definition

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-ServerPeer-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.
Gut zu wissen

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.

Teste dich
Frage 1 von 2MittelWarum kann ein zentraler Server zugleich nützlich und kritisch sein?
Lösung: Er erleichtert zentrale Verwaltung, kann bei Überlastung oder Ausfall aber einen benötigten Dienst beeinträchtigen. — Zentralisierung bündelt Verwaltung und Dienste, bündelt aber auch Abhängigkeiten.
Frage 2 von 2SchwerDrei Rechner teilen Dateien direkt miteinander. Jeder kann Dateien anfordern und anbieten. Welches Modell beschreibt die Situation?
Lösung: Peer-to-Peer, weil jeder Teilnehmer Ressourcen anfordern und bereitstellen kann. — Die Anzahl der Rechner entscheidet nicht. Ausschlaggebend ist die dezentrale Rollenverteilung.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • 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
Abschluss-Check
Teste dich
Frage 1 von 4LeichtWelche Reihenfolge beschreibt den Grundablauf richtig?
Lösung: Clientinitiative, Request, serverseitige Verarbeitung, Response — Der Client beginnt mit einer Anfrage. Der Server verarbeitet sie und antwortet anschließend.
Frage 2 von 4MittelEin Smartphone fordert ein Bild von einem Webserver an. Welche Aussage ist korrekt?
Lösung: Das Smartphone beziehungsweise seine Anwendung ist in diesem Ablauf der Client. — Die anfordernde Komponente übernimmt die Clientrolle. Das gelieferte Bild gehört zur Response.
Frage 3 von 4MittelWarum bleibt ein lokal rechnendes Programm ein Client, wenn es eine Datei vom Server abruft?
Lösung: Weil es trotz lokaler Verarbeitung einen Serverdienst anfordert. — Thin und Thick beschreiben die Arbeitsverteilung. Die Rolle ergibt sich aus dem Anfordern oder Bereitstellen eines Dienstes.
Frage 4 von 4SchwerEine Anwendung sendet eine Datenbankanfrage und erhält eine Fehlermeldung. Was kannst du sicher folgern?
Lösung: Die Anwendung handelte als Client, und die Fehlermeldung war die Response des Datenbankservers. — Auch eine Fehlermeldung kann eine gültige Antwort auf einen Request sein. Sie beendet nicht das Client-Server-Grundmuster.

Passend dazu