CGI

CGI is een simpele afspraak over hoe een web server een programma uit kan voeren en er informatie mee uit kan wisselen. CGI is een afkorting van Common Gateway Interface.

Normaliter verwijst een link in een web-pagina naar een andere web-pagina. Als een link echter naar een programma wijst zal de web-server het programma uitvoeren en alle normale uitvoer naar de browser van de bezoeker sturen. Het programma print dan gewoon de html die anders in een bestand staat. Het verschil is echter dat het programma iedere keer andere uitvoer kan genereren (zoals de tijd afdrukken) terwijl een html pagina eigenlijk statisch is.

Verder kan een web-server informatie meegeven bij het opstarten van een programma, zoals de ingevulde velden van een formulier. Het CGI programma kan die bijvoorbeeld in een bestand of database opslaan.

Men spreekt vaak van CGI scripts. Een script is een programma dat niet gecompileerd is. Perl is al geruime tijd een heel populaire script-taal voor CGI toepassingen. Sinds kort wordt in toenemende mate ook Python gebruikt. CGI programma's kunnen echter ook met compilers (zoals C, Cobol, enz) gemaakt worden omdat CGI als zodanig heel eenvoudig is.

Hoewel een web-server een CGI programma in zekere mate afschermt tegen misbruik is het nog steeds goed mogelijk de beveiliging van een webserver in gevaar te brengen door programmeerfouten. Er bestaat ook nog een soort kruising tussen statische html pagina's en CGI programma's in de vorm van PHP.