CGI

CGI steht für Common Gateway Interface
CGI ermöglicht:
  • Serverseitiges Ausführen von Programmen, die erzeugen

    Programmiersprache

    spielt keine Rolle.
    Programme in
  • C
  • C++
  • Perl
  • Java
  • usw
    möglich
    Üblicherweise wird Perl verwendet. Dazu später mehr...

    Kommunikation

    über:
  • Umgebungsvariablen
  • StandardIN und -OUT
    Ein CGI Programm schreibt einfach auf den StandardOUT und der Webserver schickt diese Daten als Website (oder Grafik) an den Browser.

    Der Aufruf eines CGI Programms unterscheidet sich für den User nicht wesentlich von dem Aufruf eines statischen Links.

    www.host.de/cgi-bin/program.cgi
    Der Webserver startet bei dieser Anfrage einen Prozess der das Programm ausführt.


    CGI ist eine sehr weit verbreitete und einfache Möglichkeit dynamische Websiten zu erzeugen...

    Beispiel HTML Seite für einen CGI Aufruf in Kombination mit einem Formular:

    <form action="cgi-bin/test.cgi" method=GET>
    Vorname : <input type="text" name="Vorname" size=20><br>
    <input type=submit value="ok">
    </form>

    Umgebungsvariablen

    Die wichtigsten sind:

    Vorteile von POST

  • Länge der Information nicht begrenzt wie bei GET
  • Parameter werden nicht in der Adressleiste angezeigt (wichtig zB bei Passwörtern)

    Vorteile von GET

  • Aufruf eines Skripts über einen Link mit Übergabe bestimmter Parameter
  • Man kann eine Anfrage bookmarken

    Fast CGI

    Möglichkeit um CGI Skripte performanter auszuführen:
  • Programm terminiert nach Ausführung nicht
  • Kommunikation mit dem Script nicht über Umgebungsvariablen sondern über TCP-Verbindung oder Pipe

    -> weiter (Perl & reguläre Ausdrücke)