Was ist das Client-Server-System?

Das Client-Server-System sorgt, einfach formuliert, für die Kommunikation zwischen zwei oder mehreren Computerprogrammen. Andere Bezeichnungen sind: Server-Client-Architektur, Server-Client-Prinzip oder Server-basiertes Netzwerk.

Um die Arbeitsweise dieser Modelle zu verstehen, ist es wichtig, zuerst die Begriffe “Server” und “Client” zu erklären.

Bei beiden Begriffen - Server und Client - handelt es sich nicht um die Bezeichnung bestimmter Hardware. Vielmehr beschreiben sie eine logische Funktion. Schließlich kann in einem Gerät sowohl ein Server, als auch ein Client vorhanden sein. Im Endeffekt geht es einzig um Anfragen (Requests) und Antworten (Responses) und wer diese jeweils aufgibt.

Server

Ein Server bietet einen Dienst bzw. einen Service an. Er nimmt Anfragen entgegen, bearbeitet sie und sendet sie ausgearbeitet an den Steller der Anfrage, den Client zurück.

Client 

Ein Client stellt Requests in Auftrag. Er kontaktiert den Server mit einer Anfrage und wartet seine Response ab. In der Client-Server-Beziehung ist der Client der aktive Part. Er geht auf den passiven Server zu, der erst auf Anfrage zu arbeiten beginnt.

Welche Kommunikationsarten gibt es?

Server und Client können auf verschiedene Arten miteinander kommunizieren:

  • Synchron: Der Client sendet eine Anfrage und bekommt die ausgefertigte Antwort des Servers. Erst dann versendet er seine nächste Anfrage.
  • Asynchron: Der Client stellt mehrere verschiedene Requests, die Antworten des Servers erhält er aber nicht in der gleichen Reihenfolge.
  • Pipeline: Der Client versendet mehrere Anfragen hintereinander und wartet die gebündelte Response all dieser Requests ab.

Welche Arten des Server-Client-Modells gibt es?

Die Architektur eines Server-Client Modells ist nicht immer die gleiche:

  • Master-Slave-Modell: Ein Master-Programm steht über allen anderen. Es erteilt den Slaves die Erlaubnis, aktiv zu werden und auf geteilte Ressourcen zugreifen zu dürfen.
  • Peer-To-Peer-Modell: Im Peer-to-Peer-System sind alle Programme gleichberechtigt. Sie alle können Anfragen in Auftrag geben sowie entgegennehmen und bearbeiten.

Was sind Client-Server-Protokolle?

Wie die Kommunikation zwischen Server und Client ablaufen soll, wird durch Protokolle geregelt. Eine Grundregel ist, dass der Server niemals Kontakt mit dem Client aufnimmt. Der Kontakt geht immer vom Client aus.

Die Internet-Protokolle HTTP und HTTPS regeln das Server-Client-Prinzip im World Wide Web. SMTP, IMAP oder POP3 nutzen es in der E-Mail-Kommunikation.

Was sind die Vor- und Nachteile des Client-Server-Systems?

Die zentrale Steuerung der Programme ist gleichzeitig der größte Vor-, wie der größte Nachteil des Modells.

Der Server kann viele Clients bedienen und dabei standortunabhängig sein, was sowohl Effizienz als auch Flexibilität steigert. Allerdings steht und fällt alles mit diesem Server. Wenn er ausfällt, gibt es keine Kommunikation. Selbst kleine Engpässe sorgen bereits dafür, dass Anfragen langsamer bearbeitet werden und in weiterer Folge verspätet zum Client zurückkommen. Hinzu kommt die komplizierte Handhabung mit einem Server, was Experten-Know-how voraussetzt.


Weitere Begriffe in dieser Kategorie