Wikipedia · einfach zusammengefasst · Stand
Client
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 …
Inhalt6 Abschnitte
Begriff und Client-Server-Modell
Ein Client, auch clientseitige Anwendung, Clientanwendung oder Clientprogramm, ist im Client-Server-Modell ein Computerprogramm, das auf einem Endgerät in einem Netzwerk ausgeführt wird und mit einem Server kommuniziert. Auch das Endgerät selbst kann als Client bezeichnet werden, wenn es Dienste von einem Server abruft.
Das Gegenstück ist das Serverprogramm beziehungsweise der Server, auch Host genannt. Während ein Client Dienste anfordert oder nutzt, stellt ein Server solche Dienste bereit. Zwischen Client und Server legt ein definiertes Protokoll fest, wie Daten übertragen werden und wie beide Seiten miteinander interagieren.
Typische Clientanwendungen
Eine wichtige Gruppe sind Webbrowser wie Mozilla Firefox, Internet Explorer oder Apple Safari. Sie verwenden das HTTP-Protokoll, um Daten bei einem Webserver abzufragen und sie anschließend für Nutzer darzustellen.
E-Mail-Clients verbinden sich mit einem E-Mail-Server, um E-Mails abzuholen und über ihn zu versenden. Sie müssen nicht ständig laufen oder mit dem Netzwerk verbunden sein, weil der Mailserver eingehende E-Mails entgegennimmt.
Nicht jeder Client wird direkt von Menschen bedient. DNS-Clients arbeiten beispielsweise als Systemdienst im Hintergrund. Sie kontaktieren automatisch DNS-Server, wenn zu einem Servernamen wie de.wikipedia.org die zugehörige IP-Adresse benötigt wird.
Weitere genannte Clientanwendungen sind in Webseiten eingebettete Anwendungen nach dem Ajax-Konzept sowie Clients mit eigenen proprietären Client-Serverprotokollen, etwa der Citrix- oder der SAP-Client.
Ablauf und clientseitige Programmierung
Die Kommunikation folgt in der Regel einem Request/Response-Schema: Der Client stellt eine Anfrage (Request), und der Server antwortet darauf (Response).
Clientseitige Programmierung kann dieses Schema bei bestimmten Aufgaben unterbrechen. Kurzzeitige Reaktionen auf Benutzerinteraktionen können direkt im Client ausgeführt werden, ohne einen Client-/Server-Rundlauf auszulösen. Dadurch lässt sich zum Beispiel unmittelbar auf Eingaben reagieren.
Dabei kann in einer Clientanwendung eine zweite Anwendung laufen: In einem Webbrowser kann etwa ein JavaScript innerhalb der aktuellen HTML-Seite ausgeführt werden. Das wird häufig als rekursives Konzept beschrieben. Clientseitige und serverseitige Anwendungen treten meistens in Mischform zusammen auf.
JavaScript ist in diesem Bereich eine häufig verwendete Programmiersprache. Sein Quellcode wird in die HTML-Seite eingebaut und vom Browser interpretiert. Als Alternative wird die proprietäre Sprache VBScript von Microsoft genannt.
Sitzungen, Cookies und Sessionmanagement
Für Benutzersitzungen ist wichtig, wo ihr Kontext gespeichert wird. HTTP ist zustandslos (stateless): Zwischen zwei Datenanforderungen kann es sich serverseitig grundsätzlich keine Daten merken.
Eine clientseitige Anwendung kann Cookies verwenden. Cookies speichern Informationen auf der Clientseite, die ein späteres clientseitiges Folgescript wieder auslesen kann. Sie bieten jedoch keine Datensicherheit; beispielsweise kann anwendungsfremde Spyware sie auslesen.
Ein serverseitiges Sessionmanagement schließt diese funktionale Lücke teilweise. Es hält Sitzungsdaten auf dem Server über mehrere Datenanforderungen hinweg aufrecht. So wird aus der an sich zustandslosen Client-/Server-Kommunikation ein System, in dem etwa durch ein Passwort geschützte Sitzungen möglich sind.
Vorteile und Nachteile
Clientseitige Verarbeitung kann bei einigen Problemen, etwa bei der Prüfung der Gültigkeit von Formulareingaben, ohne Mitwirkung des Webservers auskommen. Sie ermöglicht außerdem einen Dialog mit dem Benutzer und kann die Ästhetik einer Webseite verbessern, zum Beispiel durch wechselnde Inhalte oder eine Darstellung, die von der Mausposition abhängt.
Ein Nachteil ist, dass der Quellcode für Nutzer sichtbar und zugänglich ist. Das kann unter Umständen unerwünscht sein.
Arten und Hardwarebegriff
Man unterscheidet konventionelle Fat Clients, auch rich oder smart clients genannt, und Thin Clients, die auch lean oder slim clients heißen.
Als Clients können außerdem alle Computer eines Netzwerks bezeichnet werden, die im Unterschied zu Servern keine Dienste bereitstellen.
Lernvideos zu Client
3:47
CLIENT-SERVER-MODELL einfach erklärt!
IT & Medien einfach erklärt · 95.397 Aufrufe
7:10
Client Server (Einführung) | Informatik Lernvideo
Lernvideos und Vorträge · 48.058 Aufrufe
8:06
Das Client-Server-Modell. Was genau ist das?
Patrick Boekhoven · 2.490 Aufrufe
8:45
Informatik: Client Server Modell
Herr Sauer · 2.238 Aufrufe