Zum Inhalt springen

SEO Analyse » SEO Lexikon » c » Client

ClientAls Client bezeichnet man eine Software, den Teil einer Hardware oder die Hardware selbst, die keine serverseitigen Operationen durchführt und trotzdem Teil des Client-Server-Modells ist. Im Wesentlichen soll der Client durch seine Programmierung, die Einhaltung spezieller Protokolle oder die Verwendung bestimmter Ports den Zugriff auf den Server und dessen Funktionen ermöglichen.

Der Begriff „Client“ stammt aus dem Englischen und bedeutet wörtlich übersetzt Klient. Damit soll deutlich werden, dass er selbst keine wichtigen Funktionen übernimmt, sondern nur in Verbindung mit dem Server funktionieren kann. Die eigentlichen Aufgaben werden mit einigen wenigen Ausnahmen immer vom Server übernommen.

Verschiedene Arten von Clients

Die einfachste Form eines Clients ist das in fast allen Betriebssystemen eingebundene Telnet-Protokoll, das über eine integrierte Kommandozeile aktiviert werden kann. Telnet gehört zu den ersten Client-/Serverprotokollen und wurde am Ende der 60er-Jahre entwickelt, um rechenaufwendige Funktionen auf stärkere Server auszulagern und damit die Ressourcen der Clients zu schonen. Das Protokoll enthält dabei einige wichtige Grundfunktionen, die Programmierung des Servers erlaubt es dem Anwender, auch komplexe Programme über das Protokoll auszuführen.

Obwohl Telnet für damalige Verhältnisse revolutionär war und viele Anwendungsmöglichkeiten erlaubte, gab es nur rudimentäre Sicherheitsvorkehrungen. So wurden Passwörter beispielsweise im Klartext an den Server übertragen, durch das Abhören der Kommunikation war es problemlos möglich, sich unberechtigten Zugriff zu verschaffen.

Ein weiteres Beispiel für einen wesentlich moderneren Client ist der Webbrowser. Obwohl dieser zunächst nicht mit Clients in Verbindung gebracht wird, ist das HTT-Protokoll dennoch Teil einer Client-/Serverkommunikation. Der Webbrowser entspricht deshalb einem Client, weil dieser nur die Aufgabe hat, Anfragen an den Server weiterzuleiten und die ihm zugewiesenen Daten, beispielsweise HTML-Dokumente oder Javascript-Programmierung, zu interpretieren. Es ist heute zwar üblich, einzelne Aufgaben auch dem Browser zu überlassen, beispielsweise bei der Verwendung von Plug-Ins wie Flash oder Java, prinzipiell bleibt der Browser jedoch ein Client, da ohne die Kommunikation mit dem Server keine weitreichende Funktionalität zustande kommt. Das gilt auch dann, wenn ein virtueller Server verwendet wird, der beispielsweise auf der gleichen Hardware läuft, die auch der Client verwendet.

Auch bei vielen E-Mail-Programmen handelt es sich streng genommen um Clients, hier wird aber statt dem HTT-Protokoll eins der speziell für solche Aufgaben vorhergesehenen Protokolle, beispielsweise POP3 oder SMTP, verwendet.

Auch beim Onlinegaming hat sich der Begriff Client durchgesetzt, wenn beispielsweise von sogenannten Massively Multiplayer Onlinegames(MMO) die Rede ist. Der Client ist dabei die Software, die der Anwender auf seinem Computer installiert und die schließlich die Kommunikation mit dem Server übernimmt. Rein fachlich ist jedoch nur ein kleiner Teil des Programms wirklich ein Client, da die Berechnung der Grafik, das Abspielen von Soundeffekten und die Interpretation von Benutzereingaben komplett vom lokal gespeicherten Programm übernommen werden.

Abgrenzung von Rich-Client und Thin-Client

Da heute eine Vielzahl von verschiedenen Clients inklusive einiger Mischformen existieren, wurde eine feinere Kategorisierung nötig, die reine Request-/Response-Clients von solchen abgrenzt, die dem Nutzer zum Teil auch ohne Serverkommunikation Funktionen zur Verfügung stellen. Man spricht hier von sogenannten Rich-Clients oder Thin-Clients.

Bei Rich-Clients handelt es sich meist um eine ganze Gruppe von Programmen oder ein modulares System, das auch offline arbeiten kann und wo die meisten der zur Verfügung gestellten Funktionen direkt auf der Nutzerhardware ausgeführt werden. Beispiele für Rich-Clients, manchmal auch Smart-Clients genannt, sind Frameworks oder Entwicklungsumgebungen, bei denen die Möglichkeit besteht, verschiedene Aufgaben auf den Server auszulagern, beispielsweise damit dieser ressourcenschonender arbeiten kann, wo es aber immer auch möglich ist, diese lokal auszuführen.

Thin-Clients hingegen sollen möglichst klein sein, möglicherweise sogar gänzlich auf Benutzeroberflächen verzichten und die meisten der Aufgaben dem Server überlassen. Dies kann zum Beispiel eine auf einem Remote-Desktop laufende Terminalsoftware sein, mit der Server gesteuert oder überwacht werden können oder ein Programm, das dem Server Rechenoperationen über Kommandozeilenparameter übermittelt.

Zudem gibt es hardwarebasierte Thin-Clients, die allgemein auch als Terminal bezeichnet werden. Hierbei handelt es sich um einen Computer mit rudimentärer Rechenleistung, der meist nicht zu mehr in der Lage ist, als die vom Server übermittelten Daten zu interpretieren und Benutzereingaben an diesen weiterzuleiten. Oft spricht man hierbei auch vom virtuellen Desktop, da das eigentliche Betriebssystem vom Server bereitgestellt wird.

Ein in diesem Zusammenhang in den letzten Jahren immer öfter verwendete Begriff ist das sogenannte „Cloud-Computing„, das sich genau diese Art von Clients zu Nutze macht. Das Outsourcing der Rechenleistung bringt besonders für Unternehmer einige Vorteile. Hinzu kommt, dass die hier benutzten Thin-Clients wegen ihrer minimalen Belastung eine wesentlich längere Lebensdauer aufweisen als herkömmliche Desktop-Systeme.

Der Nachfolger des Thin-Clients könnte der Zero-Client werden. Bei diesem ist die komplette Hardware, die für die Serverkommunikation nötig ist, auf einem einzelnen Mikrochip untergebracht, weshalb man auch von einem „System on a Chip“ spricht. Diese Mikrochips könnten problemlos in mobilen Endgeräten verbaut werden und hätten genügend Leistung, um die heute benutzten Thin-Clients abzulösen.

Ein großes Problem dieser Technologie ist momentan noch die schlechte Skalierbarkeit und fast nicht vorhandene Flexibilität des Systems. Entscheidet sich ein Unternehmer für eine solche Lösung, muss er sich langfristig an sie binden, was besonders in wechselhaften Branchen zu Problemen führen könnte.

Zustandsspeicherung bei Client-Konzepten

Ein Problem der clientbasierten Verarbeitung von Daten ist die Zustandsspeicherung. Unter Umständen muss sich – um effektiv arbeiten zu können – der Server merken, welche Daten der Client zuletzt abgefragt hat, welcher Request gestellt wurde und womit der Nutzer gearbeitet hat. Diese Aufgabe wird noch komplexer, wenn auf einen Client gleich mehrere Nutzer fallen.

Bei einigen Clients besteht dieses Problem nicht, da sie „stateless“ arbeiten. Dies ist beispielsweise bei den bereits erwähnten Webbrowsern der Fall, ansonsten gibt es zwei übliche Methoden der Zustandsspeicherung: die serverseitige oder clientseitige Speicherung. Beide Methoden haben Vor- und Nachteile, zum Beispiel kann bei der clientseitigen Zustandsspeicherung der Server nur durch die Vergabe mehrerer Konten unterscheiden, um welchen Nutzer es sich handelt. Dies kann unter Umständen unerwünscht sein, da hierdurch ein zusätzliches Login für den Client nötig wird.

Bei der serverseitigen Zustandsspeicherung hingegen wird dieser im Bezug auf Rechenleistung und Speicherplatz zusätzlich belastet. Die Kosten für Hardware und Wartung steigen, das System ist insgesamt aber sicherer und weniger störanfällig, da die relevanten Daten direkt auf dem Server liegen. Momentan handelt es sich bei der serverseitigen Zustandsspeicherung um die bessere Methode, wenn ein Client nicht von mehreren Personen benutzt wird und das entsprechende Budget für die Hardware zur Verfügung steht.

Zusammenfassung

Ein Client ist eine Software oder Hardware, die als Schnittstelle zum Server dient und den Zugriff auf dessen Funktionen ermöglicht. Dabei können verschiedene Protokolle und Ports verwendet werden. Historisch gesehen gehörte das Telnet-Protokoll zu den ersten Clients und ermöglichte rechenaufwendige Funktionen auf Servern auszulagern.

Heute finden wir verschiedene Arten von Clients wie Webbrowser und E-Mail-Programme, die unterschiedliche Protokolle wie HTTP oder POP3 verwenden. Im Bereich des Online-Gamings und Cloud-Computing sind Clients ebenfalls entscheidend für die Kommunikation mit Servern.

Die Kategorisierung von Clients kann in Rich-Clients und Thin-Clients unterteilt werden. Rich-Clients können viele Funktionen auch offline bereitstellen, während Thin-Clients mehr auf die Ressourcen des Servers angewiesen sind. In Zukunft könnten Zero-Clients mit kompletter Hardware auf einem Mikrochip den Thin-Client ablösen.

Die Zustandsspeicherung ist eine Herausforderung bei Client-Server-Modellen. Hierbei gibt es grundsätzlich zwei Ansätze: die serverseitige und clientseitige Speicherung. Während die serverseitige Speicherung sicherer, aber ressourcenintensiver ist, bietet die clientseitige Speicherung mehr Flexibilität, kann jedoch zusätzliche Anmeldeprozesse erfordern.

Häufige Fragen und Antworten

Was ist ein Client?

Ein Client ist eine Software oder Hardware, die als Schnittstelle zum Server dient und den Zugriff auf dessen Funktionen ermöglicht. Dabei können verschiedene Protokolle und Ports verwendet werden.

Welche verschiedenen Arten von Clients gibt es?

Es gibt verschiedene Arten von Clients, wie zum Beispiel Webbrowser, E-Mail-Programme und Clients für Online-Gaming. Jeder dieser Clients verwendet unterschiedliche Kommunikationsprotokolle, um mit dem Server zu interagieren.

Was ist der Unterschied zwischen Rich-Clients und Thin-Clients?

Rich-Clients sind in der Lage, viele Funktionen auch offline bereitzustellen und sind weniger abhängig von der Ressourcen des Servers. Thin-Clients hingegen sind darauf angewiesen, dass der Server die meisten Aufgaben übernimmt und haben selbst eine geringere Rechenleistung.

Bildnachweis: iStock.com/matspersson0


Zurück zur Hauptseite: c
Alle Marken, Warenzeichen, Unternehmens- und Produkt-Bezeichnungen sind mit, aber auch ohne definitive Kennzeichnung, Eigentum des Inhabers der Rechte. Alle aufgeführten Elemente dienen lediglich der informativen Beschreibung.