|
|
Serverseitige Programmiersprachen (1)
|
|
Programm wird im
Server ausgeführt
|
Serverseitige Programmierung bedeutet, dass das angeforderte Programm nicht vom Browser, sondern auf der Seite des Webservers ausgeführt wird.
- Wenn Interaktion mit dem Benutzer serverseitig erfolgt, müssen sämtliche Daten zuerst an den Server und wieder zurück gesendet werden. Dies bedeutet eine gewisse Verzögerung.
- Hier kann man davon ausgehen, dass die serverseitige Programmierung bei allen Benutzern funktionieren wird.
|
|
CGI
|
CGI (Common Gateway Interface) könnte man mit "allgemeine Schnittstelle von Vermittlerrechnern" übersetzen. CGI-Scripts selbst sind Programme, die auf einem Internet-Server liegen und dort bei Aufruf diese Schnittstelle erzeugen. Sie können von HTML-Dokumenten aus aufgerufen werden, und erzeugen dann selbst einen HTML-Code, den sie an den aufrufenden Rechner schicken, sodass er dort im Webbrowser ausgegeben wird.
- Das bekannteste Beispiel für diese Technik sind Suchmaschinen, die auf eine Anfrage hin die entsprechenden Suchergebnisse in einem Web-Browser ausgeben.
- Auch Zähler, die die Aufrufe einer HTML-Seite registrieren und gleichzeitig auf diesem Dokument ausgeben, benutzen CGI.
|
|
Ablauf eines
CGI-Aufrufs >>
|
|
|
|
Für die Benutzung von CGI braucht es vier Dinge:
- einen Auslöser (Trigger), welcher entweder eine URL ist, die an ein Programm verweist, welches das CGI-Format versteht, oder ein Server Side Include (SSI), das ein Programm ausführt, welches das CGI-Format versteht;
- einen Server, der weiß, was mit der CGI-Anfrage zu tun ist, die Informationen gemäß dem CGI-Standard formatiert und sie dann an das dazu bestimmte Programm weitergibt;
- ein Programm (in diesem Fall das CGI-Skript), welches in einer solchen Weise geschrieben wurde, dass es mit dem Webserver kommunizieren kann;
- die Erlaubnis, das Programm auszuführen.
CGI erlaubt dem Client, eine Anfrage an den Server zu schicken, damit dort ein Programm läuft. Dieses ist das CGI-Skript, ein ausführbares Programm, welches die CGI-Anfrage vom Server verstehen kann. Damit Programme die CGI-Schnittstelle verwenden könne, müssen sie in ein spezielles Verzeichnis abgelegt werden, in dem sie ausgeführt werden können. Dies ist in der Regel das cgi-bin-Verzeichnis.
CGI-Programme können in unterschiedlichen Programmiersprachen realisiert werden, sind jedoch weder software- noch plattformunabhängig. Außerdem müssen CGI-Scripts von der Server-Software unterstützt werden. Es muss daher mit dem jeweiligen Provider im Vorfeld geklärt werden, ob dies der Fall ist und in welcher Sprache bzw. Compilerversion die CGI-Programme erstellt werden müssen. Inzwischen gibt es einige öffentliche Dienste, die vorgefertigte Lösungen sowie auch CGI-Schnittstellen anbieten.
|
|
SSI
|
SSI (Server Side Includes) sind technisch ähnlich wie CGI, auch sie geben Befehle an den Server, um spezielle Funktionen auszuführen und werden nicht von allen Servern unterstützt. Grundsätzlich teilen Server Side Includes dem Webserver mit, ein HTML-File zu lesen und sobald eine SSI-Zeile kommt, dort zu stoppen, etwas auszuführen und danach wieder fortzusetzen. Dazu muss der Webserver die HTML-Datei Zeile für Zeile lesen, bevor er sie an den Client weitergibt. Dieser Vorgang wird "parsen" genannt.
Viele Systeme sind nicht dazu eingerichtet, jede einzelne Web-Seite zu parsen. Stattdessen werden oft spezielle (vom Webmaster bestimme) Namenskonventionen benutzt (häufig .shtml statt .html), und nur mehr diese speziell gekennzeichneten Files geparst.
Die SSIs werden in die HTML-Datei eingefügt. Typische Bespiele für SSIs sind
<!--#exec cgi="/cgi-bin/countme.cgi"
<!--#include file="newfile.txt"
|
|
|
|
|
|
|
|