Definition, Arten und Beispiele einfach erklärt
Ein Client ist ein Programm oder ein Gerät, das Dienste oder Daten bei einem Server anfordert und die Antwort weiterverarbeitet, etwa um sie dem Nutzer oder der Nutzerin anzuzeigen. Die Kommunikation geht dabei in der Regel vom Client aus. Bekannte Clientanwendungen sind E-Mail-Programme, SSH-Clients und Browser.
Definition und Funktionsweise von Clients
Der Begriff „Client“ geht auf das lateinische Wort cliens zurück, das einen Schutzbefohlenen bezeichnete; im Englischen bedeutet „client“ heute „Kunde“ oder „Auftraggeber“. In der IT versteht man unter einem Client eine Software oder ein Endgerät, das die Dienste eines Servers in Anspruch nimmt. Ist das Programm gemeint, spricht man auch von Clientanwendung oder Clientprogramm; ist das Gerät gemeint, etwa ein PC oder Notebook im Firmennetz, von einem Client-Rechner.
Der Client sendet eine Anfrage (Request) an einen Server, der Server bearbeitet sie und schickt eine Antwort (Response) zurück. Damit beide sich verstehen, nutzen sie ein gemeinsames Protokoll, zum Beispiel HTTP, IMAP oder SSH. Anschließend verarbeitet der Client die Antwort: Er stellt sie dar, speichert sie oder gibt sie an ein anderes Programm weiter. Ein Webbrowser fordert beim Aufruf einer Website zum Beispiel das HTML-Dokument beim Webserver an, lädt anschließend weitere Ressourcen wie CSS-Dateien, JavaScript und Bilder nach und baut daraus die Seite im Browserfenster auf.
Viele Clients haben eine Benutzeroberfläche und dienen damit als Schnittstelle zwischen Mensch und Server. Das ist aber kein zwingendes Merkmal: Manche Clients arbeiten ohne sichtbare Oberfläche im Hintergrund, etwa der DNS-Client des Betriebssystems, oder sind Teil anderer Programme, beispielsweise wenn eine App über eine Programmierschnittstelle (API) Daten von einem Server abruft.
Die Aufgabenteilung zwischen Client und Server beschreibt das Client-Server-Modell. Es ist die Grundlage der meisten Netzwerkdienste, vom Abruf einer Website bis zur Anmeldung an einem Firmennetzwerk.
Welche Arten von Clients gibt es?
Clients lassen sich danach unterscheiden, wie viel Rechenarbeit sie selbst übernehmen und wie stark sie vom Server abhängen. Die Grenzen zwischen den Kategorien sind fließend, in der Praxis kommen auch Mischformen vor. Die Begriffe werden sowohl für Hardware (Endgeräte) als auch für Software (Clientanwendungen) verwendet.
Fat Client
Ein Fat Client, auch Thick Client genannt, verarbeitet Daten überwiegend lokal und verfügt dafür über eigene Rechenleistung, eigenen Speicher und ein vollwertiges Betriebssystem. Der Server stellt vor allem Daten oder einzelne Dienste bereit, etwa eine Datenbank oder Dateifreigaben. Ein klassisches Beispiel ist ein Desktop-PC mit Windows, macOS oder Linux, auf dem die benötigten Anwendungen installiert sind. Fat Clients können auch ohne Serververbindung weiterarbeiten, sind aber aufwendiger zu verwalten, weil Software und Updates auf jedem Gerät einzeln gepflegt werden müssen.
Thin Client
Ein Thin Client ist ein Computer oder ein Programm mit geringer lokaler Rechenleistung, das auf die Erreichbarkeit eines Servers angewiesen ist. Die eigentlichen Anwendungen laufen auf dem Server. Der Thin Client nimmt die Eingaben über Tastatur und Maus entgegen, sendet sie an den Server und zeigt das Ergebnis an. Typische Einsatzgebiete sind virtuelle Desktops (Virtual Desktop Infrastructure, VDI) und Terminalserver-Umgebungen. Thin Clients haben meist ein schlankes Betriebssystem, lassen sich zentral verwalten und gelten als vergleichsweise sicher, weil kaum Daten auf dem Gerät gespeichert werden.
Rich Client
Ein Rich Client ist eine Clientanwendung, die einen großen Teil der Programmlogik und eine umfangreiche Benutzeroberfläche lokal ausführt, für Daten und bestimmte Dienste aber regelmäßig mit einem Server kommuniziert. Rich Clients basieren häufig auf Frameworks, die Funktionen wie Updates oder Erweiterungen zentral bereitstellen; das erleichtert die Verwaltung im Vergleich zu einem klassischen Fat Client. Verwandt ist der Begriff Smart Client, mit dem vor allem Microsoft Anwendungen bezeichnete, die lokal laufen, sich aber über das Netzwerk aktualisieren lassen.
Zero Client
Ein Zero Client, auch Ultra Thin Client genannt, ist eine besonders reduzierte Form des Thin Clients. Er besitzt keinen lokalen Datenspeicher für Nutzerdaten und kein allgemeines Betriebssystem wie Windows, sondern nur eine Firmware, die eine Verbindung zu einem entfernten Desktop herstellt. Die Bildübertragung erfolgt über spezielle Remote-Display-Protokolle wie PCoIP. Zero Clients kommen fast ausschließlich in virtualisierten Desktopumgebungen zum Einsatz und sind ohne Serververbindung nicht nutzbar.
Fat, Thin, Rich und Zero Client im Vergleich
| Merkmal | Fat Client | Rich Client | Thin Client | Zero Client |
|---|---|---|---|---|
| Verarbeitung | überwiegend lokal | großteils lokal, Daten vom Server | überwiegend auf dem Server | vollständig auf dem Server |
| Betriebssystem | vollwertig | läuft auf vollwertigem System | schlank | keines, nur Firmware |
| Arbeit ohne Server | möglich | eingeschränkt möglich | kaum möglich | nicht möglich |
| Verwaltungsaufwand | hoch | mittel | gering | sehr gering |
| Typischer Einsatz | Desktop-PC, Workstation | Unternehmensanwendungen | VDI, Terminalserver | VDI |
Beispiele und Anwendungen von Clients
Clients sind im Alltag allgegenwärtig. Manche nutzen Sie bewusst, etwa Browser oder E-Mail-Programm, andere arbeiten unbemerkt im Hintergrund.
E-Mail-Client
Ein E-Mail-Client ist ein Programm zum Schreiben, Senden, Empfangen, Lesen, Filtern und Suchen von E-Mails. Für den Versand nutzt er das Protokoll SMTP, für den Abruf IMAP oder POP3. Mit IMAP bleiben die Nachrichten auf dem Mailserver und sind auf mehreren Geräten synchron; POP3 lädt sie in der Regel auf ein einzelnes Gerät herunter. E-Mail-Clients gibt es als installierte Programme für Desktop-Betriebssysteme, als Apps für Smartphones und Tablets oder als Webanwendung (Webmail) im Browser. Bekannte Beispiele sind Microsoft Outlook, Mozilla Thunderbird und Apple Mail.
FTP-Client
Ein FTP-Client überträgt Dateien zwischen einem lokalen Rechner und einem FTP-Server, etwa um die Dateien einer Website hochzuladen. Er baut zunächst eine Steuerverbindung zum Server auf, standardmäßig über Port 21, über die Befehle und Antworten laufen. Die Dateien selbst werden über eine separate Datenverbindung übertragen. Da klassisches FTP Zugangsdaten und Inhalte unverschlüsselt überträgt, sollten Sie nach Möglichkeit verschlüsselte Varianten wie FTPS (FTP über TLS) oder SFTP (Dateiübertragung über SSH) nutzen. Verbreitete Programme wie FileZilla oder WinSCP unterstützen mehrere dieser Protokolle.
SSH-Client
Ein SSH-Client stellt eine verschlüsselte und authentifizierte Verbindung zu einem entfernten Rechner her. Über diese Verbindung können Sie Befehle auf dem Server ausführen, Dateien übertragen oder Netzwerkverbindungen tunneln. SSH-Clients sind daher ein Standardwerkzeug für die Fernwartung und Verwaltung von Servern, etwa wenn Sie einen virtuellen Server einrichten oder warten. Unter Linux und macOS ist der OpenSSH-Client in der Regel vorinstalliert und wird im Terminal mit dem Befehl ssh aufgerufen. Unter Windows steht OpenSSH seit Windows 10 (Version 1809) als optionales Feature zur Verfügung; daneben ist PuTTY ein bekannter grafischer SSH-Client.
Webbrowser
Ein Webbrowser sendet Anfragen an Webserver und stellt deren Antworten als Webseite dar. Die Kommunikation erfolgt über HTTP bzw. die verschlüsselte Variante HTTPS, die heute im Web Standard ist. Aktuelle Browser unterstützen neben HTTP/1.1 auch die effizienteren Versionen HTTP/2 und HTTP/3. Zu den bekanntesten Browsern zählen Google Chrome, Apple Safari, Microsoft Edge und Mozilla Firefox.
DNS-Client
Der DNS-Client gehört zu den Clients, die unbemerkt im Hintergrund arbeiten. Er ist Teil des Betriebssystems und wird auch als Stub-Resolver bezeichnet. Seine Aufgabe ist es, Domainnamen in die zugehörigen IP-Adressen aufzulösen. Dazu stellt er eine Anfrage an einen DNS-Server, meist den des Internetanbieters, des Routers oder eines öffentlichen Resolvers. Der DNS-Client vermittelt damit zwischen dem Domain Name System (DNS) und dem Programm, das die IP-Adresse eines Servers benötigt, zum Beispiel dem Browser. Klassische DNS-Anfragen laufen unverschlüsselt über UDP oder TCP auf Port 53; moderne Betriebssysteme und Browser unterstützen zusätzlich verschlüsselte Varianten wie DNS over HTTPS (DoH) und DNS over TLS (DoT).
Was ist der Unterschied zwischen Client und Server?
Client und Server unterscheiden sich nicht in erster Linie durch ihre Hardware, sondern durch ihre Rolle in der Kommunikation. Der Client stellt Anfragen und nimmt Dienste in Anspruch, der Server wartet auf Anfragen und stellt Dienste und Ressourcen bereit. Beide treten daher in vielen Fällen gemeinsam auf.
| Merkmal | Client | Server |
|---|---|---|
| Rolle | fordert Dienste oder Daten an | stellt Dienste oder Daten bereit |
| Kommunikation | startet die Verbindung | wartet auf Anfragen und antwortet |
| Anzahl | viele Clients nutzen einen Dienst | ein Server bedient viele Clients gleichzeitig |
| Typische Beispiele | Browser, E-Mail-Programm, SSH-Client | Webserver, Mailserver, SSH-Server |
Ein und derselbe Rechner kann beide Rollen gleichzeitig übernehmen: Ein Webserver, der für eine Anfrage Daten aus einer Datenbank lädt, ist gegenüber dem Datenbankserver selbst ein Client. In Peer-to-Peer-Netzwerken wechseln die beteiligten Rechner sogar ständig zwischen beiden Rollen. Entscheidend ist also immer, wer in einer bestimmten Verbindung einen Dienst anfragt und wer ihn erbringt.


