Client

Ein Client (über englisch client aus lateinisch cliens wörtlich für „Klient“ oder „Kunde“) – auch clientseitige Anwendung, Clientanwendung oder Clientprogramm – bezeichnet ein Computerprogramm, das auf dem Endgerät eines Netzwerks ausgeführt wird und mit einem Server (Zentralrechner) kommuniziert. Man nennt auch ein Endgerät selbst, das Dienste von einem Server abruft, Client.

Das Gegenstück zum Client ist das jeweilige Serverprogramm bzw. der Server selbst, auch Host genannt.

Clientseitige Anwendungen

Eine wichtige Gruppe von clientseitigen Anwendungen sind die Webbrowser, wie z.B. Mozilla Firefox, Internet Explorer oder Apple Safari, welche das HTTP-Protokoll zur Datenkommunikation mit einem Webserver verwenden, um von diesem Daten abzufragen und sie anschließend dem Nutzer darstellen.

Ein weiteres Beispiel sind E-Mail-Clients: Sie nehmen Kontakt zu einem E-Mail-Server auf, um E-Mails von ihm abzuholen und über ihn zu versenden. Der Client muss dazu nicht ständig in Betrieb oder mit einem Netzwerk verbunden sein, denn der Mailserver nimmt die eingehenden E-Mails entgegen.

Viele Clients werden nicht von Benutzern bedient, sondern arbeiten im Hintergrund als Systemdienst, wie zum Beispiel DNS-Clients. Sie nehmen automatisch Verbindung mit DNS-Servern auf, wenn zu einem Servernamen, wie de.wikipedia.org, die IP-Adresse benötigt wird.

Das Ajax-Konzept findet bei clientseitigen Anwendungen, die in Internetseiten eingebettet sind, eine wachsende Bedeutung. Andere Clientanwendungen, welche über eigene proprietäre Client-Serverprotokolle verfügen, sind zum Beispiel der Citrix- oder der SAP-Client.

Zwischen einem Client und einem Server gibt es zur Datenübertragung und zur Interaktion ein definiertes Protokoll, welches in der Regel einem Request/Response-Schema folgt. Durch eine clientseitige Programmierung kann das Request/Response-Schema unterbrochen werden, indem man bestimmte Funktionen wie zum Beispiel kurzzeitige Reaktionen auf Benutzerinteraktionen direkt clientseitig durchführt, ohne einen Client-/Server-Rundlauf auszulösen. Oft handelt es sich dabei um ein rekursives Konzept. In einer Clientanwendung (z.B. Webbrowser) läuft eine zweite Anwendung (zum Beispiel ein JavaScript in der aktuellen HTML-Seite).

Meistens treten clientseitige Anwendungen in einer Mischform mit einer serverseitigen Anwendung auf.

Eine in diesem Bereich häufig verwendete Programmiersprache ist JavaScript. Der Quellcode wird in die HTML-Seite eingebaut und durch den Browser interpretiert. Eine Alternative dazu bietet beispielsweise die proprietäre Sprache VBScript des Softwareherstellers Microsoft.

Clientseitige vs. serverseitige Zustandspeicherung

Wichtig ist im Zusammenhang auch, wie der Kontext einer Benutzersitzung gespeichert werden kann. Zum Beispiel ist HTTP zustandslos (stateless), kann sich also serverseitig grundsätzlich keine Daten zwischen zwei Datenanforderungen merken. Eine clientseitige Anwendung kann das Cookie-Konzept verwenden, um Informationen auf der Clientseite zu speichern, welche von einem clientseitigen Folgescript zu einem späteren Zeitpunkt wieder ausgelesen werden. Cookies bieten allerdings keine Form der Datensicherheit und können z.B. auch von anwendungsfremder Spyware ausgelesen werden. Diese funktionale Lücke wird teilweise durch das Konzept eines serverseitigen Sessionmanagement geschlossen.

Die an sich zustandslose Client-/Server-Kommunikation wird dadurch zu einem System, in dem die Sitzungsdaten auf dem Server über mehrere Datenanforderungen aufrechterhalten werden können. Dadurch werden (z.B. durch ein Passwort geschützte) Sitzungen möglich.

Vorteile

Nachteile

Arten von Clients

Man unterscheidet konventionelle Fat Clients (auch rich- oder smart clients) und Thin Clients (auch lean- oder slim clients).

Hardware

Als Clients bezeichnet man auch all jene Computer in einem Netzwerk, die im Gegensatz zu den Servern keine Dienste bereitstellen.

Literatur

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 21.09. 2022