Zurück | Übersicht |

Kapitel 6 : Alternativen zu CGI

fastCGI

Dieses Modul verhält sich weitgehend wie CGI. Nur wird das Script einmal gestartet

Unterschiede zu CGI

Anders als CGI wird eine dauerhafte Verbindung zwischen dem Server und dem fastCGI-Script aufgebaut. Über ein Siganal wird angezeigt, dass eine neue Anforderung vom Client gekommen ist.

CGI::Fast

Eines der Module mit denen das fastCGI Interface implemntiert wurde ist CGI::Fast In dem Modul ist das auslösende Modul so gelöst, das das erzeugen einer neuen CGI Objektinstanz solnage hinausgezögert wird, bis eine Anforderung vom Client kommt.

Ab dem Punkt verhält es sich wie ein normales CGI-Objekt, mit allen Methoden welche man von CGI kennt.

An einem Beispiel: Scriptname: param3.pl
#!/usr/bin/perl

# strict und warnings sind Pflicht in jedem ordentlichen Perlscript.
use strict;
use warnings;

# Laden des CGI::fast Modules
use CGI::Fast;

# ein zähler zum zu zeigen,
# dass immer das selbe Script aufgerufen wird
my $COUNTER = 0;

# diese Schleife beendet sich erst,
# wenn die Kommunikation mit dem Server unterbrochen wird
# Ansonsten wird bei jedem Aufruf ein neues CGI::Fast Objekt erzeugt
while (my $cgi=CGI::Fast->new())
{
  print $cgi->header();
  print $cgi->start_html("Fast CGI Rocks");
  print
    $cgi->h1("Fast CGI Rocks"),
    $cgi->p(
      "Invocation number ",$cgi->b($COUNTER++),
      " PID: ",$cgi->b($$),".",
    ),
  print $cgi->end_html;
}

FCGI

Das Modul FCGI ist minimalistischer und bietet eine Minimale Schinttstelle zum FastCGI? Interface. Das ist nützlich wenn man selber ein CGI-farmewor schreiben will oder anforderungen hat die von normalen CGIs abweichen. Die Kontrolle über das was und wann zum Client gesendet wird ist größer, das macht aber auch die Scripte komplexer.

modperl

Dies ist ein Modul für Apache. (wobei es auch Portierungen zu anderen HTTP-Servern gibt) Dabei wird der Perlinterpreter in Apache eingebunden. Dadauch hat Perl Zugriff auf die internen Strukturen von Apache. Das Script wird wie bei FastCGI? nur einmal gestartet.


Zurück | Übersicht |

-- ToPeGroe, 07 Okt 2011
Topic revision: 2011-10-07, ToPeGroe
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.