Der Webserver nimmt die Requests entgegen
Im groben geht es darum, wo der Programmcode von einer Webseite aufbereitet und ausgeführt wird.
Denn meistens beeinhalten dynamische Webseiten verschiedene Programmiersprachen,
die auf unterschiedlichen Systemen ausgeführt werden.
Der Client ist in diesem Falle der Browser auf dem PC des Benutzers
Der Server ist der Webserver,
der alle Anfragen aus dem Web (requests) entgegen nimmt,
verarbeitet und beantwortet (response).
Das ganze läuft über das HTTP-Protokoll
Über das HTTP/HTTPs-Protokoll werden alle Requests- und Responses-Meldungen
als Text-Format im Transmission Control Protocol hin und her geschickt.
Diese bestehen aus einem Header und den Daten der Webseite, Bzw. der Benutzereingaben.
Browser (HTTP-Client) und Webserver (HTTP-Server)
Das Request- und Response-Model um eine Webseite aufzurufen und HTTP Anfragen zu bearbeiten
(funktion des Hypertext Transfer Protocols)
Beim Client-Side Scripting (Bsp. JavaScript) wird der Script-Code im Browser vom Client gerendert
Und beim Server-Side-Scripting (Bsp: wie C#.NET und JAVA, PHP ....)
wird der Code schon auf dem Server compiliert.
Oder anders ausgedrückt,
die Klassendateien werden auf dem Server in eine einzelne Assembly kompiliert.
Dabei hängt es auch noch davon ab,
auf welchem Webserver (IIS, Apache...) und Programiersprache man arbeitet.
Das outsourcen von Code zum Client
Beim Entwickeln von dynamischen Webseiten,
macht es Sinn, validierungen auf den Client auszulagern (code outsourcing).
Prinzipiell gibt es oft viele verschiedene Varianten im Quellcode,
um eine Funktion zu realisieren (...viele Wege führen nach Rom...).
Unterschiedliche Programiersprachen (Client- und Serverseitig) bieten unterschiedliche Lösungen an.
Jedoch hat dies auch wieder Vor- oder Nachteile.
Vorteile vom Clinet-Side JavaScript:
- Verbesserung der usability
- outosourcing von Funktionen
- performance reduzieren und verbessern
- schnellere Antwort- und Ladezeiten
- validierungen schon auf dem Client durchführen
Client ist nicht gleich Client!
Alles liegt im Auge des Betrachters...
Wenn ein Webentwickler oder Programmierer vom Client spricht,
wird er sich wohl auf das obige HTTP-Document Model beziehen.
Und meint also mit Client den User,
den Webseitenbesucher oder zumindest dessen Browser, mit dem er eine Webseite aufruft.
Für den Netzwerkspezialist,
ist der der PC und die Netzwerkonfiguration im Vordergrund
Der Netwerkadministrator versteht unter dem Client, also nur dem Computer, den Rechner, den PC
Warum?
- Programmierer: Web Server <> Client (der Browser ...ist das Ziel)
- Netzwerkspezialist: Server <> Client (der PC, laufwerk c:\ etc... ist das Ziel