CGI

Allikas: Vikipeedia

CGI (ingliskeelne esitähelühend väljendist Common Gateway Interface) on standard (RFC 3875: CGI Versioon 1.1), mis defineerib, kuidas saab veebiserver veebilehekülgede tekitamise delegeerida teistele teksti sisendit-väljundit toetavatele programmidele.

Programme, mis seda standardit toetavad, nimetatakse ka CGI programmideks. Kuigi kasutada võib selleks peaaegu kõiki programmeerimiskeeli, taandub see nende mugavama kasutuse tõttu enamasti siiski vaid skriptimiskeeltele. Skriptimiskeeltest leiab CGI programmide koostamisel enim kasutust Perl ja PHP aga ka Python ning Ruby, UNIXi laadsetel operatsioonisüsteemidel leiab CGI programmidena kasutust ka shell skript.

CGI programmide kasutamine, veebilehe tekitamiseks on võrdlemisi aeglane. Selle põhjus peitub tõsiasjas, et 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 muidugi väga suur mure, kuid juba keskmise koormuse juures hakkab, see märgatavalt veebilehe kiirust piirama. Lahenduseks pakutakse serveri programmidele nö. mooduleid või siis laiendusi, mille peamine eesmärk, on kaotada ära CGI programmide alalised mälu hõivamise ning vabastamise protseduurid. Teiseks võimaluseks on kasutada veebiserveri juures FastCGI moodulit, mis samuti üritab veidi vähendada mälu hõivamise ning vabastamise tsükleid. Suuremat ajutist koormust tekitavate veebilehtede loomiseks saab kasutada võtet, mil staatiline leht koostatakse kindlate ajavahemike tagant skripti poolt ja kirjutatakse vana üle ja veebiserver serveerib staatilise juba valmis lehe, mitte ei hakka iga päringu peale uut looma.