Common Gateway Interface: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Lang-Bot-as (aptarimas | indėlis)
S robot Adding: zh
Nėra keitimo santraukos
Eilutė 1:
'''CGI''' ('''Common Gateway Interface''') — protokolas, apibrėžiantis, kaip turi bendrauti WWW serveris ir jamejo vykdomos programos, skirtos iš naršyklės gautosgautai informacijosinformacijai apdorojimuiapdoroti ir/arba dinaminiųdinaminiams puslapiųpuslapiams generavimuigeneruoti.
 
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 metodas|POST]] metodu pateikiamą informaciją, kuri pateikiama į standartinįstandartinę įvedimąįvestį). Kiekvienai užklausai apdoroti kuriamas naujas procesas.
 
CGI buvo patogus tuo, kad:
* konkretauskonkrečios taikymo logikos nereikėjonereikia tiesiogiai integruoti į WWW serverioserveryje esančios svetainės išeities kodą – todėl dėl kiekvieno pakeitimo nereikėdavonereikia perkompiliuoti ir perstartuotiperkrauti 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 serverioserverių realizacijųpalaiko mokašį dirbti šiuo protokoluprotokolą, todėl CGI programas galima naudoti su skirtingomisskirtingais WWW serverio realizacijomisserveriais;
* taikymo programos galėjogali būti vykdomos kitomis teisėmis, nei pats WWW serveris, dėl totaip pagerinant visos sistemos saugumą.
 
CGI trūkumai:
* greitaveika — dėl to, kadkadangi kiekviena užklausa apdorojama atskiruatskiro procesuproceso, serverio resursai yra išnaudojami pakankamai neefektyviai.
 
Greitaveikos problema buvo sprendžiama dviem keliaisbūdais:
* integruojant skriptų kalbų interpretatorius į WWW serverius ([[mod_php]], [[mod_perl]]);
* taikymo programą paleidžiant kaip servisąpaslaugą, o užklausų duomenis ir sugeneruotus puslapius perduodant tarp WWW serverio ir CGI programos per socket<!-- kaip lietuviškai? ;-) - gal lizdas? -->'us[[Prievadas|prievadais]] (FastCGI).
 
{{kompiuteriniai terminai}}