Freie Universität Berlin, Fachbereich Mathematik und Informatik
Institut für Informatik, AG Informatik in Bildung und Gesellschaft

Quellen

Common Gateway Interface (CGI)

In diesem Abschnitt wird behandelt, wie mit Hilfe von CGI serverseitige Programme ausgeführt werden.

Hintergrund

Webseiten werden im Internet mit Hilfe des HTTP-Protokolls übertragen. Ein Besucher fordert eine Datei an und der Webserver stellt diese Datei zu Verfügung. Die Darstellung der Seite obliegt dann dem Webbrowser des Besuchers.

Mit Hilfe von CGI kann der Besucher auch den Start eines anderen Programms (ein sogenanntes CGI-Script) auf dem Rechner auslösen, auf dem der Webserver läuft. Das wird i.d.R. dazu benutzt, damit der Webserver individuelle Inhalte als Webseite zurückschicken kann. Webserver mit CGI-Schnittstelle sorgen nun dafür, dass das Programm aufgerufen wird und auf welche Weise das CGI-Script seine Eingabedaten bekommt und seine Ausgabedaten an den Webserver zurückgeben kann.

Anleitung

CGI-Skripte sind auf dem Server laufende Programme. Nie sollte einem Nutzer erlaubt sein, neue Programme auf dem Server-Rechner zu speichern. Deshalb sind die Verzeichnisse, in denen Webseiten gespeichert und abgerufen werden streng getrennt von dem Verzeichnis, aus dem eraus die CGI-Programme aufgerufen werden.

Internet-Sicht (URL) Lokale Sicht (Dateisystem)
Webseiten http://www.domain.de/ Unter Linux: /usr/local/httpd/htdocs/
CGI-Skripts http://www.domain.de/cgi-bin/ Unter Linux: /usr/local/httpd/cgi-bin/

CGI-Programme müssen ausführbar sein. Ihre Eingabe beziehen sie über die Standardeingabe. Innerhalb des Programms können alle Funktionen eines normalen anderen Programms benutzt werden (sofern es zweckmäßig ist, jedem Internetnutzer die Ausführung einer Funktion zu erlauben).

Als Rückgabe wird eine Webseite erzeugt, indem über die Standardausgabe der Text ausgegeben wird, der normalerweise in der html-Datei stehen würde. Einziger Unterschied: Zu Beginn der Nachricht wird der Mime-Type des Dokuments übermittelt und eine Zeile freigelassen: content-type: text/html

Fertige CGI-Scripts

Meist wird die Programmiersprache Perl für CGI-Scripts eingesetzt, da mit ihr die Textmanipulation und Erzeugung sehr komfortabel gelöst ist und die Rückgabe einer Webseite gerade im Schreiben von Text mit eingefügtem HTML-Markup besteht.

Zur Ausführung von Perl-Scripts braucht man einen Perl-Interpreter, den es z.B. für Unix (Linux), Windows oder MAc gibt . Bei der Interpreation wird auf in C geschriebene Kommandos zurückgegriffen, sodass ein solches Script ausreichend schnell abläuft.

Natürlich kann man auch gleich fertige Programme benutzen.

Lehre

Projekte

Personen

Quellen