https://xn--n-soa.lt/w//index.php?title=CGI&feed=atom&action=historyCGI - Versijų istorija2024-03-28T08:35:53ZŠio puslapio versijų istorija projekteMediaWiki 1.35.1https://xn--n-soa.lt/w//index.php?title=CGI&diff=7484&oldid=prev\dev\null: layout pataisymai2016-01-24T15:07:28Z<p>layout pataisymai</p>
<p><b>Naujas puslapis</b></p><div>'''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.<br />
<br />
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 pateikiamus duomenis į standartinę įvestį). Kiekvienai užklausai apdoroti kuriamas naujas procesas.<br />
<br />
CGI patogus tuo, kad:<br />
* 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;<br />
* taikymo programos gali būti parašytos bet kokia kalba, įskaitant skriptų rašymo kalbas; būtent skriptų kalbomis ([[perl]], [[php]], [[sh]]) buvo sukurta daugelis CGI programų;<br />
* dauguma WWW serverių palaiko šį protokolą, todėl CGI programas galima naudoti su skirtingais WWW serveriais;<br />
* taikymo programos gali būti vykdomos kitomis teisėmis nei pats WWW serveris, taip pagerinant visos sistemos saugumą.<br />
<br />
CGI trūkumai:<br />
* sparta – kadangi kiekviena užklausa apdorojama atskiro proceso, serverio resursai yra išnaudojami nepakankamai.<br />
<br />
Spartos problema sprendžiama dviem būdais:<br />
* integruojant skriptų kalbų interpretatorius į WWW serverius ([[mod php]], [[mod perl]]);<br />
* taikymo programą paleidžiant kaip paslaugą, o užklausų duomenis ir sugeneruotus tinklalapius perduodant tarp WWW serverio ir CGI programos socket'u ([[FastCGI]]).<br />
<br />
<br />
<br />
[[Kategorija:Internetas]]<br />
[[Category:Tinklas]]<br />
[[Category:PHP]]<br />
[[Category:HTTPD]]<br />
[[Category:HTTP]]<br />
[[Category:Serveris]]</div>\dev\null