Was ist ein Client?

Ein Client ist ein Computer oder eine Anwendung, der bzw. die Anfragen an einen Server sendet. Damit macht sie Dienste und Daten, die der Server bereitstellt, für den Nutzer oder die Nutzerin verfügbar. Bekannte Clientanwendungen sind beispielsweise E-Mail-Programme und Browser.

Definition und Funktionsweise von Clients

Der Begriff „Client“ stammt aus dem Englischen bzw. Lateinischen und bedeutet wörtlich „Kunde“. Im IT-Bereich werden häufig auch die Begriffe Clientanwendung und Clientprogramm geführt. Hier versteht man einen Client als Schnittstelle zu Nutzerinnen und Nutzern, als Anwendung (Software), die mit Servern kommuniziert.

Das Endgerät, zum Beispiel ein Computer, führt die Clientanwendung aus, mit der User agieren. Der Client sendet Anfragen an einen Server und nimmt damit die Dienste, welche der Server bereitstellt, in Anspruch. Die Aufgabe des Clients ist es, die Antwort des Servers so aufzubereiten, dass sie für die Ausgabe des anfragenden Endgerätes richtig ist. Ein Webbrowser als Client sendet beispielsweise beim Besuch einer Website eine Anfrage an den Server. Der Browser gibt die Antwort des Servers, welche in Form von HTML und CSS vorliegt, im Browserfenster aus.

Dieses Zusammenspiel zwischen Client und Server kann man als Client-Server-Modell beschreiben. Das Client-Server-Modell findet regelmäßig bei der Bereitstellung von Server-Diensten innerhalb eines Netzwerkes Anwendung.

Arten von Clients

Es existieren verschiedener Arten von Clients. Sie lassen sich zur Differenzierung in Kategorien einteilen. In der Praxis treten auch Mischformen der einzelnen Arten auf. Im Folgenden sind die gängigsten Arten aufgeführt.

Fat Client

Der Fat Client, auch Thick Client genannt, ist ein vollausgestatteter und leistungsfähiger Desktop-PC. Das lokale Arbeiten auf dem Client ist durch eine ausreichende Rechenkapazität möglich. Charakteristisch sind für den Fat Client eine Programmierschnittstelle, die Hardware sowie ein grafisches Interface. Ein PC, auf dem Windows als Betriebssystem installiert ist, ist ein Beispiel für einen Fat Client.

Thin Client

Ein Thin Client ist ein Computer oder ein Programm, welches weniger lokale Rechenkapazität benötigt und auf die Existenz und Erreichbarkeit eines Servers angewiesen ist. Lokales Arbeiten ist aufgrund der geringen Hardwareressourcen nicht vorgesehen. Die Rechenleistung ist auf den Server ausgelagert. Die Hauptaufgabe eines Thin Clients ist es, User-Eingaben aufzunehmen und sie direkt an den Server zu senden. Ein Beispiel für den Einsatz ist der Zugriff auf virtuelle Desktops mittels Thin Client.

Rich Client

Rich Clients, welche auch unter dem Begriff Smart Client bekannt sind, führen eine Vielzahl der Aufgaben lokal aus und verfügen damit über die nötigen Rechnerressourcen. Die Auslagerung einiger weniger Aufgaben auf einen Server ist üblich. Die Möglichkeit der Interaktion mit einem Server macht es außerdem leichter einen Rich Client zu administrieren.

Zero Client

Ein Zero Client, auch Ultra Thin Client genannt, ist eine besonders reduzierte Form eines Thin Clients. Seine Funktionalität ist vollständig von der Verbindung und Kommunikation mit dem Server abhängig. Er besitzt keinen lokalen Speicher und ist mit einem an Funktionen reduzierten Betriebssystem ausgestattet. Auch diese sind häufig bei dem Zugriff virtualisierter Desktopumgebungen zu finden.

Beispiele und Anwendungen von Clients

Die Anwendung von Clients findet täglich unzählige Male durch das Nutzen von Endgeräten statt. Manche Clients setzen Benutzerinnen und Benutzer bewusst ein, andere laufen unbemerkt verdeckt im Hintergrund.

E-Mail-Client

Unter dem E-Mail-Client versteht man das E-Mail-Programm. Die Software eröffnet den Nutzerinnen und Nutzern alle Aktivitäten in der Interaktion mit E-Mails. Der E-Mail-Client ermöglicht, das Schreiben, Senden, Empfangen, Lesen, Filtern und Suchen von E-Mails. Protokolle zur Erfüllung dieser Funktionalitäten sind SMTP, IMAP oder POP. E-Mail-Clients sind entweder als eigenständiges Programm installiert oder integriert in Browser- oder Smartphone-Plugins. Bekannte Beispiele für E-Mail-Clients sind Microsoft Outlook, Mozilla Thunderbird und Apple Mail.

FTP-Client

Der FTP-Client kommt dann zum Einsatz, wenn man Dateien auf einen FTP-Server hochlädt oder etwas von diesem herunterlädt. Der Client baut eine FTP-Verbindung zum Server auf. Der Datenaustausch findet über diese Verbindung statt.

SSH-Client

Der SSH-Client ist ein Programm, das eine sichere und authentifizierte SSH-Verbindung zu einem Server herstellt. Das SSH-Protokoll ermöglicht es, dass die Datenübertragung zwischen den beiden verbundenen Computern sicher ist. SSH-Verbindungen finden somit bei der Verwaltung von Servern, Übermittlung von Daten sowie bei der Fernwartung ihre Anwendung. Ein sehr bekannter SSH-Client ist beispielsweise PuTTY unter Windows.

Webbrowser

Der Webbrowser ermöglicht, Anfragen an Webserver zu senden und damit beispielsweise eine Webseite beim Server anzufragen und anzuzeigen. Das Protokoll, welches das Senden der Anfragen ermöglicht, ist HTTP. Bekannte und weitverbreitete Webbrowser sind Google Chrome und Firefox.

DNS-Client

Ein DNS-Client gehört zu den Clients, welche unbemerkt für den Nutzer im Hintergrund laufen. Dieser ist im Netzwerkprotokoll TCP/IP eingebunden. Er löst den Computernamen oder die Webadresse in die dazugehörige IP-Adresse auf. Der Client ist somit der Vermittler zwischen dem Domain Name Service (DNS) und dem Programm, welches die IP-Adresse des Servers benötigt.

Unterschied zwischen Client und Server

Die Client-Definition, die Funktionsweise von Clients sowie die Anwendungsfälle von Clients zeigen, dass Clients häufig auf einen Server, mit dem sie kommunizieren, angewiesen sind. Beide treten somit in vielen Fällen in Kombination auf, um eine bestimmte Funktion zu erfüllen. Sowohl der Server als auch der Client liegen in manchen Fällen als physischer Computer vor, unterscheiden sich aber in ihrer Rolle und Funktion in einem Client-Server-Konstrukt maßgeblich.

Der Client fungiert als Kunde. Er stellt Anfragen an einen Server und verarbeitet die Antwort des Servers so, wie es in dem Programm definiert ist. Ein Client liegt in Form eines Computers oder eines Programms vor.

Der Server liefert auf Anfrage eines Clients eine Antwort. Er stellt die erforderlichen Dienste und Ressourcen für Clients bereit und übernimmt die Kommunikation mit dem Client, indem er die Anfragen des Clients annimmt und auf Basis seiner definierten Funktion eine entsprechende Antwort sendet.