CGI

Allikas: Vikipeedia
Jump to navigation Jump to search

CGI (ingliskeelne esitähtlühend väljendist 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-programmide kasutamine veebilehe genereerimiseks on võrdlemisi aeglane, 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 serverprogrammidele nö. mooduleid või 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 üritab veidi vähendada mälu hõivamise ning 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 genereerima iga päringu korral uut.