- Clientseitige Anwendung
-
Eine clientseitige Anwendung läuft im Unterschied zur serverseitigen Anwendung nicht auf dem Server (z. B. einem Webserver), sondern auf dem Rechner des Nutzers ab. Allerdings sind diese Clientanwendungen in aller Regel in eine Client-/Serverkommunikation eingebunden. Wichtigste clientseitige Anwendungen sind die Clients selber, wie z. B. Firefox, Safari oder Microsoft Internet Explorer welche alle HTTP zur Datenkommunikation mit einem Webserver unterstützen. Das Ajax-Konzept findet bei clientseitigen Anwendungen die in HTML eingebettet sind eine wachsende Bedeutung. Andere Clientanwendungen welche über eigene proprietäre Clientserverprotokolle verfügen sind z. B. der Citrixclient, 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/Responseschema folgt. Durch eine clientseitige Programmierung kann das Request/Responseschema unterbrochen werden, indem bestimmte Funktionen wie z. B. kurzzeitige Reaktionen auf Benutzerinteraktionen direkt clientseitig durchgeführt werden, ohne einen Client-/Serverrundlauf (Client-/Server Routtrip) auszulösen. Oft handelt es sich dabei um ein rekursives Konzept. In einer Clientanwendung (Webbrowser) läuft eine zweite Anwendung (z. B. 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. Z. B. ist HTTP zustandslos (stateless), kann also serverseitig grundsätzlich keine Daten zwischen zwei Datenanforderungen memorisieren. Eine clientseitige Anwendung kann das Cookie-Konzept verwenden, um Informationen auf der Clientseite zu speichern, welche von einem clientseitige 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 kann durch das Konzept eines serverseitigen Sessionmanagement geschlossen werden.
Die an sich zustandslose Client-/Serverkommunikation wird dadurch zu einem System in dem ein Sessionzustand auf dem Server über mehrere Datenanforderungen aufrechterhalten werden kann. Hierbei kann dann auch eine passwortgeschütze Datensicherheit gewährleistet werden.
Vorteile
- Zur Lösung einiger Probleme (Gültigkeit von Formulareingaben) kann auf die Mitwirkung des Webservers verzichtet werden.
- Es wird ein Dialog mit dem Benutzer ermöglicht
- Die Ästhetik der Webseite kann verbessert werden (z. B. wechselnde Inhalte und Darstellung in Abhängigkeit von der Mausposition).
Nachteile
- Der Quellcode ist für den Nutzer sichtbar und zugänglich. Das kann unter Umständen unerwünscht sein.
Wikimedia Foundation.