cgi-bin: wat het is en hoe je het kunt gebruiken

CGI staat voor Common Gateway Interface. Het is een technologie waarmee de webbrowser dynamisch gegevens kan opvragen van de server. CGI is een standaard voor dataoverdracht tussen de server en de browser.

Een bekend voorbeeld van een CGI-toepassing is het verzenden van e-mail met een mailformulier vanaf een website, maar er zijn meer mogelijkheden: bezoektellers, pull-down menu's, web-polls, enz.

CGI is geen programmeertaal. Het is een technologie waarmee scripts en gecompileerde programma's kunnen worden uitgevoerd op de server. Hierbij is bijna alles mogelijk: Software geschreven in Fortran, Basic, Pascal, C, etc.; Scripts geschreven in Perl, Python, PHP, VB-script; zelfs DOS-batchfiles zijn mogelijk.

Aan CGI kleeft een nadeel: Voor elke aanvraag wordt een nieuw proces gestart, dat buiten de webserver-software draait. Als er (te) veel aanvragen tegelijkertijd worden gedaan kan de server overbelast raken en vastlopen. Recentere technieken als ASP en PHP hebben dat probleem niet, omdat ze deel uitmaken van het webserver-programma zelf.

De eerste toepassingen van CGI dateren uit 1993. Dat doet vermoeden dat het weinig meer wordt gebruikt, maar niets is minder waar. CGI wordt nog veel gebruikt, maar meestal door sites die al lang bestaan. Wel worden de klassieke CGI-technieken steeds meer verdrongen door modernere zoals ASP.NET, PHP, enz.
Aan CGI worden nog wel verbeteringen aangebracht. Zo is voor het uitvoeren van Perl-scripts in combinatie met de Apache webserver geen aparte software meer nodig. Apache heeft tegenwoordig zelf een Perl-interpreter aan boord.

CGI-programma's staan altijd in een aparte directory, die altijd de naam cgi-bin heeft. Een website kan maar één cgi-bin hebben. Alle CGI-programma's van de website staan daar in, als het goed is netjes verdeeld over sub-directories.

Als je webhoster CGI voor je website beschikbaar stelt, betekent dat niet dat de cgi-bin direct bruikbaar is. Er zullen altijd speciale beveiligingsinstellingen nodig zijn. Zo mag alleen de webserver toegang hebben tot de cgi-bin. Voor gewone gebruikers hoort de cgi-bin ontoegankelijk (lees: niet zichtbaar) te zijn.
Er wordt hier niet ingegaan op het instellen van de beveiliging. De aanpak verschilt per webhoster.

 
terug

html-314; Laatste wijziging: 9 mei 2020