Common Gateway Interface
Išvaizda
CGI (Common Gateway Interface) — protokolas, apibrėžiantis, kaip turi bendrauti WWW serveris ir jo vykdomos programos, skirtos iš naršyklės gautai informacijai apdoroti ir/arba dinaminiams puslapiams generuoti.
CGI buvo sugalvotas 1993 ir realizuotas viename iš pirmųjų WWW serverių — NCSA HTTPd. Iš naršyklės gauta informacija į apdorojimo programą perduodama panaudojant aplinkos kintamuosius (išskyrus HTTP POST metodu pateikiamą informaciją, kuri pateikiama į standartinę įvestį). Kiekvienai užklausai apdoroti kuriamas naujas procesas.
CGI patogus tuo, kad:
- konkrečios taikymo logikos nereikia tiesiogiai integruoti į WWW serveryje esančios svetainės išeities kodą – dėl kiekvieno pakeitimo nereikia perkompiliuoti ir perkrauti viso WWW serverio;
- taikymo programos gali būti parašytos bet kokia kalba, įskaitant skriptų rašymo kalbas; būtent skriptų kalbomis (perl, php, sh) buvo parašyta didžioji dalis CGI programų;
- dauguma WWW serverių palaiko šį protokolą, todėl CGI programas galima naudoti su skirtingais WWW serveriais;
- taikymo programos gali būti vykdomos kitomis teisėmis nei pats WWW serveris, taip pagerinant visos sistemos saugumą.
CGI trūkumai:
- greitaveika — kadangi kiekviena užklausa apdorojama atskiro proceso, serverio resursai yra išnaudojami pakankamai neefektyviai.
Greitaveikos problema sprendžiama dviem būdais:
- integruojant skriptų kalbų interpretatorius į WWW serverius (mod_php, mod_perl);
- taikymo programą paleidžiant kaip paslaugą, o užklausų duomenis ir sugeneruotus puslapius perduodant tarp WWW serverio ir CGI programos prievadais (FastCGI).
![]() |
Šiame straipsnyje naudojami diskutuotini terminai. Daugiau apie kompiuterinius terminus skaitykite žodynėlyje. |