Ein Client ist ein Programm oder ein Gerät, das Dienste oder Daten bei einem Server anfordert und die Antwort wei­ter­ver­ar­bei­tet, etwa um sie dem Nutzer oder der Nutzerin an­zu­zei­gen. Die Kom­mu­ni­ka­ti­on geht dabei in der Regel vom Client aus. Bekannte Cli­ent­an­wen­dun­gen sind E-Mail-Programme, SSH-Clients und Browser.

De­fi­ni­ti­on und Funk­ti­ons­wei­se von Clients

Der Begriff „Client“ geht auf das la­tei­ni­sche Wort cliens zurück, das einen Schutz­be­foh­le­nen be­zeich­ne­te; im Eng­li­schen bedeutet „client“ heute „Kunde“ oder „Auf­trag­ge­ber“. 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 Cli­ent­an­wen­dung oder Cli­ent­pro­gramm; ist das Gerät gemeint, etwa ein PC oder Notebook im Fir­men­netz, von einem Client-Rechner.

Der Client sendet eine Anfrage (Request) an einen Server, der Server be­ar­bei­tet sie und schickt eine Antwort (Response) zurück. Damit beide sich verstehen, nutzen sie ein ge­mein­sa­mes Protokoll, zum Beispiel HTTP, IMAP oder SSH. An­schlie­ßend ver­ar­bei­tet der Client die Antwort: Er stellt sie dar, speichert sie oder gibt sie an ein anderes Programm weiter. Ein Web­brow­ser fordert beim Aufruf einer Website zum Beispiel das HTML-Dokument beim Webserver an, lädt an­schlie­ßend weitere Res­sour­cen wie CSS-Dateien, Ja­va­Script und Bilder nach und baut daraus die Seite im Brow­ser­fens­ter auf.

Viele Clients haben eine Be­nut­zer­ober­flä­che und dienen damit als Schnitt­stel­le zwischen Mensch und Server. Das ist aber kein zwin­gen­des Merkmal: Manche Clients arbeiten ohne sichtbare Ober­flä­che im Hin­ter­grund, etwa der DNS-Client des Be­triebs­sys­tems, oder sind Teil anderer Programme, bei­spiels­wei­se wenn eine App über eine Pro­gram­mier­schnitt­stel­le (API) Daten von einem Server abruft.

Die Auf­ga­ben­tei­lung zwischen Client und Server be­schreibt das Client-Server-Modell. Es ist die Grundlage der meisten Netz­werk­diens­te, vom Abruf einer Website bis zur Anmeldung an einem Fir­men­netz­werk.

Welche Arten von Clients gibt es?

Clients lassen sich danach un­ter­schei­den, wie viel Re­chen­ar­beit sie selbst über­neh­men und wie stark sie vom Server abhängen. Die Grenzen zwischen den Ka­te­go­rien sind fließend, in der Praxis kommen auch Misch­for­men vor. Die Begriffe werden sowohl für Hardware (Endgeräte) als auch für Software (Cli­ent­an­wen­dun­gen) verwendet.

Fat Client

Ein Fat Client, auch Thick Client genannt, ver­ar­bei­tet Daten über­wie­gend lokal und verfügt dafür über eigene Re­chen­leis­tung, eigenen Speicher und ein voll­wer­ti­ges Be­triebs­sys­tem. Der Server stellt vor allem Daten oder einzelne Dienste bereit, etwa eine Datenbank oder Da­tei­frei­ga­ben. Ein klas­si­sches Beispiel ist ein Desktop-PC mit Windows, macOS oder Linux, auf dem die be­nö­tig­ten An­wen­dun­gen in­stal­liert sind. Fat Clients können auch ohne Ser­ver­ver­bin­dung wei­ter­ar­bei­ten, sind aber auf­wen­di­ger 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 Re­chen­leis­tung, das auf die Er­reich­bar­keit eines Servers an­ge­wie­sen ist. Die ei­gent­li­chen An­wen­dun­gen 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 Ein­satz­ge­bie­te sind virtuelle Desktops (Virtual Desktop In­fra­struc­tu­re, VDI) und Ter­mi­nal­ser­ver-Um­ge­bun­gen. Thin Clients haben meist ein schlankes Be­triebs­sys­tem, lassen sich zentral verwalten und gelten als ver­gleichs­wei­se sicher, weil kaum Daten auf dem Gerät ge­spei­chert werden.

Rich Client

Ein Rich Client ist eine Cli­ent­an­wen­dung, die einen großen Teil der Pro­gramm­lo­gik und eine um­fang­rei­che Be­nut­zer­ober­flä­che lokal ausführt, für Daten und bestimmte Dienste aber re­gel­mä­ßig mit einem Server kom­mu­ni­ziert. Rich Clients basieren häufig auf Frame­works, die Funk­tio­nen wie Updates oder Er­wei­te­run­gen zentral be­reit­stel­len; das er­leich­tert die Ver­wal­tung im Vergleich zu einem klas­si­schen Fat Client. Verwandt ist der Begriff Smart Client, mit dem vor allem Microsoft An­wen­dun­gen be­zeich­ne­te, die lokal laufen, sich aber über das Netzwerk ak­tua­li­sie­ren lassen.

Zero Client

Ein Zero Client, auch Ultra Thin Client genannt, ist eine besonders re­du­zier­te Form des Thin Clients. Er besitzt keinen lokalen Da­ten­spei­cher für Nut­zer­da­ten und kein all­ge­mei­nes Be­triebs­sys­tem wie Windows, sondern nur eine Firmware, die eine Ver­bin­dung zu einem ent­fern­ten Desktop herstellt. Die Bild­über­tra­gung erfolgt über spezielle Remote-Display-Pro­to­kol­le wie PCoIP. Zero Clients kommen fast aus­schließ­lich in vir­tua­li­sier­ten Desk­top­um­ge­bun­gen zum Einsatz und sind ohne Ser­ver­ver­bin­dung nicht nutzbar.

Fat, Thin, Rich und Zero Client im Vergleich

Merkmal Fat Client Rich Client Thin Client Zero Client
Ver­ar­bei­tung über­wie­gend lokal großteils lokal, Daten vom Server über­wie­gend auf dem Server voll­stän­dig auf dem Server
Be­triebs­sys­tem voll­wer­tig läuft auf voll­wer­ti­gem System schlank keines, nur Firmware
Arbeit ohne Server möglich ein­ge­schränkt möglich kaum möglich nicht möglich
Ver­wal­tungs­auf­wand hoch mittel gering sehr gering
Typischer Einsatz Desktop-PC, Work­sta­tion Un­ter­neh­mens­an­wen­dun­gen VDI, Ter­mi­nal­ser­ver VDI

Beispiele und An­wen­dun­gen von Clients

Clients sind im Alltag all­ge­gen­wär­tig. Manche nutzen Sie bewusst, etwa Browser oder E-Mail-Programm, andere arbeiten unbemerkt im Hin­ter­grund.

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 Nach­rich­ten auf dem Mail­ser­ver 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 in­stal­lier­te Programme für Desktop-Be­triebs­sys­te­me, als Apps für Smart­phones und Tablets oder als Web­an­wen­dung (Webmail) im Browser. Bekannte Beispiele sind Microsoft Outlook, Mozilla Thun­der­bird 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 hoch­zu­la­den. Er baut zunächst eine Steu­er­ver­bin­dung zum Server auf, stan­dard­mä­ßig über Port 21, über die Befehle und Antworten laufen. Die Dateien selbst werden über eine separate Da­ten­ver­bin­dung über­tra­gen. Da klas­si­sches FTP Zu­gangs­da­ten und Inhalte un­ver­schlüs­selt überträgt, sollten Sie nach Mög­lich­keit ver­schlüs­sel­te Varianten wie FTPS (FTP über TLS) oder SFTP (Da­tei­über­tra­gung über SSH) nutzen. Ver­brei­te­te Programme wie FileZilla oder WinSCP un­ter­stüt­zen mehrere dieser Pro­to­kol­le.

SSH-Client

Ein SSH-Client stellt eine ver­schlüs­sel­te und au­then­ti­fi­zier­te Ver­bin­dung zu einem ent­fern­ten Rechner her. Über diese Ver­bin­dung können Sie Befehle auf dem Server ausführen, Dateien über­tra­gen oder Netz­werk­ver­bin­dun­gen tunneln. SSH-Clients sind daher ein Stan­dard­werk­zeug für die Fern­war­tung und Ver­wal­tung von Servern, etwa wenn Sie einen vir­tu­el­len Server ein­rich­ten oder warten. Unter Linux und macOS ist der OpenSSH-Client in der Regel vor­in­stal­liert und wird im Terminal mit dem Befehl ssh auf­ge­ru­fen. Unter Windows steht OpenSSH seit Windows 10 (Version 1809) als op­tio­na­les Feature zur Verfügung; daneben ist PuTTY ein bekannter gra­fi­scher SSH-Client.

Web­brow­ser

Ein Web­brow­ser sendet Anfragen an Webserver und stellt deren Antworten als Webseite dar. Die Kom­mu­ni­ka­ti­on erfolgt über HTTP bzw. die ver­schlüs­sel­te Variante HTTPS, die heute im Web Standard ist. Aktuelle Browser un­ter­stüt­zen neben HTTP/1.1 auch die ef­fi­zi­en­te­ren Versionen HTTP/2 und HTTP/3. Zu den be­kann­tes­ten 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 Hin­ter­grund arbeiten. Er ist Teil des Be­triebs­sys­tems und wird auch als Stub-Resolver be­zeich­net. Seine Aufgabe ist es, Do­main­na­men in die zu­ge­hö­ri­gen IP-Adressen auf­zu­lö­sen. Dazu stellt er eine Anfrage an einen DNS-Server, meist den des In­ter­net­an­bie­ters, des Routers oder eines öf­fent­li­chen Resolvers. Der DNS-Client ver­mit­telt damit zwischen dem Domain Name System (DNS) und dem Programm, das die IP-Adresse eines Servers benötigt, zum Beispiel dem Browser. Klas­si­sche DNS-Anfragen laufen un­ver­schlüs­selt über UDP oder TCP auf Port 53; moderne Be­triebs­sys­te­me und Browser un­ter­stüt­zen zu­sätz­lich ver­schlüs­sel­te Varianten wie DNS over HTTPS (DoH) und DNS over TLS (DoT).

Was ist der Un­ter­schied zwischen Client und Server?

Client und Server un­ter­schei­den sich nicht in erster Linie durch ihre Hardware, sondern durch ihre Rolle in der Kom­mu­ni­ka­ti­on. Der Client stellt Anfragen und nimmt Dienste in Anspruch, der Server wartet auf Anfragen und stellt Dienste und Res­sour­cen bereit. Beide treten daher in vielen Fällen gemeinsam auf.

Merkmal Client Server
Rolle fordert Dienste oder Daten an stellt Dienste oder Daten bereit
Kom­mu­ni­ka­ti­on startet die Ver­bin­dung wartet auf Anfragen und antwortet
Anzahl viele Clients nutzen einen Dienst ein Server bedient viele Clients gleich­zei­tig
Typische Beispiele Browser, E-Mail-Programm, SSH-Client Webserver, Mail­ser­ver, SSH-Server

Ein und derselbe Rechner kann beide Rollen gleich­zei­tig über­neh­men: Ein Webserver, der für eine Anfrage Daten aus einer Datenbank lädt, ist gegenüber dem Da­ten­bank­ser­ver selbst ein Client. In Peer-to-Peer-Netz­wer­ken wechseln die be­tei­lig­ten Rechner sogar ständig zwischen beiden Rollen. Ent­schei­dend ist also immer, wer in einer be­stimm­ten Ver­bin­dung einen Dienst anfragt und wer ihn erbringt.

Reviewer

Zum Hauptmenü