CGI

Allikas: Vikipeedia

CGI (ingliskeelne akronüüm nimetusest Common Gateway Interface) on standard (RFC 3875: CGI Versioon 1.1), mis defineerib, kuidas veebiserver saab veebilehtede genereerimise delegeerida teistele tekstipõhist sisendit-väljundit toetavatele programmidele.

Standardit toetavaid programme nimetatakse ka CGI-programmideks. Kuigi selleks võib kasutada peaaegu kõiki programmeerimiskeeli, taandub see nende mugavama kasutuse tõttu enamasti siiski vaid skriptimiskeeltele. Skriptimiskeeltest leiavad CGI-programmide koostamisel enim kasutust Perl ja PHP aga ka Python ning Ruby, UNIXi laadsetel operatsioonisüsteemidel ka shell skript.

CGI-programmidega käib veebilehe genereerimine võrdlemisi aeglaselt, kuna iga programmi poole pöördumise korral peab veebiserver selle uuesti käivitama (mälu hõivamine, muutujate algväärtustamine, programmi käivitamine, mälu vabastamine). Väikese koormusega veebilehtedel pole see probleem, kuid keskmise koormuse juures hakkab see veebilehe kiirust märgatavalt piirama. Lahenduseks pakutakse serveriprogrammidele mooduleid või laiendusi, mille peamine eesmärk on kaotada CGI-programmide alalised mälu hõivamise ja vabastamise protseduurid. Teiseks võimaluseks on kasutada veebiserveri juures FastCGI-moodulit, mis üritab veidi vähendada mälu hõivamise ja vabastamise tsükleid. Suuremat ajutist koormust põhjustavate veebilehtede loomiseks saab kasutada võtet, kus staatilised lehed koostatakse kindlate ajavahemike järel ja veebiserver serveerib valmis lehti, mitte ei genereeri iga päringu korral uut.