Um dynamische Webseiten im Internet zu erzeugen, werden so genannte Skripte benutzt. Diese werden mit speziellen Skriptsprachen erstellt. Das sind Programmiersprachen, die in ihrem Umfang auf die vollen Möglichkeiten komplexen Programmierens verzichten. Sie sind vor allem für kleinere Projekte nützlich, können relativ einfach und schnell erlernt und angewandt werden. Variablen (Zahl, String, ...) müssen zum Beispiel nicht nach Typ deklariert werden. Im Internet werden Skriptsprachen wie JavaScript und PHP dazu eingesetzt, dynamische Webseiten zu erzeugen. Hierbei gibt es zwei mögliche Arten, wie sie ausgeführt werden: serverseitig oder clientseitig.
Clientseitige Skriptsprachen
Skriptsprachen wie JavaScript werden clientseitig eingesetzt. Oft werden die Skript-Blöcke in HTML-Dateien eingebunden. Der Client, genauer der Browser, interpretiert das Skript. Das hat den Vorteil, dass der Webserver nicht für jede Änderung eine neue Seite zum Computer des Benutzers schicken muss. Hat der Browser aber Probleme mit dem Skript, kann die Seite nicht korrekt angezeigt werden.
Serverseitige Skriptsprachen
Serverseitig arbeiten beispielsweise PHP, Perl und Python. Das bedeutet, dass der Quellcode der Webseite vom Server interpretiert und als HTML-Code an den Browser des Nutzers weitergegeben wird. Diese Methode hat den großen Vorteil, dass die übermittelte HTML-Seite bei jedem Nutzer funktioniert und relativ gleich erscheint.
JavaScript ist die meistverwendete clientseitige, objektbasierte Skriptsprache. Der Browser interpretiert das JavaScript. Die in JavaScript programmierten Funktionen können Inhalte der Seite verändern und das Erscheinungsbild daraufhin anpassen. Ein Beispiel sind die Rollover-Grafiken, die beim Überfahren mit der Maus wechseln. Das hat den Vorteil, dass der Webserver in diesem Fall nicht für jede Änderung eine neue Seite zum Computer des Benutzers schicken muss. JavaScript ermöglicht auch das Prüfen von Eingaben auf plausible Schreibweise, bevor die Daten an den Server geschickt werden.
JavaScript läuft in einer so genannten "Sandbox", ähnlich einem Sicherheitskäfig, in dem die Programmiersprache eingesperrt ist. So kann JavaScript nur auf den Browser und nicht auf Dateien des zugrunde liegenden Rechners zugreifen. Die Interaktion zwischen dem Benutzer und Inhalten der Seite, das heißt Änderungen an Inhalten der HTML / XHTML- Dateien, Formulare, geschieht über die Schnittstelle DOM . Das Document Object Model (DOM) ist eine Programmierschnittstelle für den Zugriff auf HTML / XHTML-Dokumente, welches vom World Wide Web-Consortium standardisiert wurde.
Zusätzlich gibt es mit JavaScript geschriebene Skripte, die direkt auf einem Webserver laufen. Mit Java hat JavaScript, außer dem Namen und einer ähnlichen Syntax, wenig gemeinsam. Java ist eine vollwertige objektorientierte Programmiersprache, die Klassen verwendet, JavaScript hingegen verwendet Objekte als Prototypen. Dem Prinzip des barrierefreien Internet steht JavaScript oft entgegen. Oft schalten die Anwender auch JavaScript im Browser ab. Durch seine Verwendung in Ajax findet JavaScript neue Anwendungsgebiete.
Kakao & Kekse
http://www.w3.org/DOM
Perl (= Practical Extraction and Report Language) ist die älteste serverseitig interpretierte Skriptsprache. Ursprünglich wurde sie 1987 von Larry Wall als Werkzeug zur Systemadministration entwickelt. Damaliges Ziel war es, mit Hilfe von Perl übersichtliche Berichte aus zerstreuten Logdateien automatisch zu erzeugen. Im Internet werden mittels Perl Webserver, Datenserver, weitere Programme und Daten verbunden. Obwohl es mittlerweile als serverseitige Skriptsprache weitgehend von PHP abgelöst wurde, wird Perl weiterhin für verschiedene Web-Angebote verwendet, zum Beispiel bei amazon.com und slashdotorg.
PHP (PHP: Hypertext Preprocessor) als serverseitig interpretierte Skriptsprache wird häufig zur Programmierung dynamischer Webseiten und Webanwendungen benutzt. Die Syntax ist dabei eng an die von C/C++ angelehnt. Ursprünglich wurde PHP, damals als Personal Home Page Tools, als Sammlung von Perl-Skripten entwickelt und erst später in C umgesetzt. PHP ist eine Open-Source-Software und wegen seiner einfachen Syntax leicht erlernbar. Es wird oft in Bereichen eingesetzt, in denen viel mit Datenbanken gearbeitet wird. Damit eine mit PHP programmierte Homepage funktioniert, muss der Server, auf dem die Seiten liegen, über einen PHP-Interpreter verfügen. Der PHP-Quelltext wird dann an den Interpreter auf dem Webserver übermittelt und die HTML-Ausgabe an den Browser geschickt. Die Kombination aus Betriebssystem, z.B. Linux bzw. Windows, Apache als Webserver, MySQL-Server als Datenbank und PHP wird LAMP bzw. WAMP genannt.
Eine weitere objektorientierte Skriptsprache ist Python. Weil es einfach und übersichtlich zu handhaben ist, wird es oft als serverseitig interpretierte Skriptsprache eingesetzt. Etwas ungewohnt ist die Verwendung von optischen Einrückungen statt Klammern zur Syntaxgestaltung. Für Programmiereneulinge ist der Zwang zum übersichtlichen Codieren ein Vorteil, der den Einstieg erleichtert. Mit Python ist nur objektorientiertes Programmieren möglich. Obwohl Python Einfachheit betont, sind mit ihm schon große Softwareprojekte gelöst worden, im Web findet es unter anderem Verwendung bei Teilen von Google und YouTube.
Ajax (= Asynchronous JavaScript and XML) ist besonders im Zusammenhang mit Web 2.0 bekannt geworden. Mit Ajax wird es möglich, innerhalb einer HTML-Seite eine HTTP-Anfrage durchzuführen, ohne die ganze Seite komplett neu zu laden. Dieses Prinzip der asynchronen Datenübertragung zwischen Browser und Server verkürzt die Übertragungszeiten. Ajax-Anwendungen basieren auf folgenden Webtechniken: HTML / XHTML, DOM, JavaScript zur dynamischen Darstellung der Inhalte, XMLHttpRequest-Object, um die Daten asynchron auszutauschen, On-Demand JavaScript. Die Verwendung von JavaScript ist der größte Kritikpunkt an Ajax. Wenn im Browser des Nutzers JavaScript inaktiv ist, werden die Seiten unter Umständen nicht richtig angezeigt. Ein großer Vorteil von Ajax ist, dass nur Daten abgefragt werden, die auch gebraucht werden.