1.1 CGI (Common Gateway Interface - Standartinis Interneto Interfeisas) - tai vienas iš porgramavimo internete būdų. Tai standartas, nusakantis, kaip Web serveriai perduoda informaciją, panaudodami pridėtines programas, vykdomas serveryje.
1.2. Formos naudojamos informacijai iš kliento gauti. Taip pat jas naudoja interaktyviam procesui (bendravimui) tarp vartotojo ir serverio palaikyti.
1.3. Sąsajos atlieka tarpininko vaidmenį tarp vartotojo ir serveryje saugomų duomenų, kurių formatas nesuprantamas kliento naršyklei. Tai vyksta taip: Klientas pateikia užklausą, CGI programa ją išanalizuoja ir atrenka duomenis, duomenys yra apdorojami (suteikiamas HTML arba kitoks, suprantamas naršyklei, formatas) ir persiunčiami klientui.
1.4. Virtualūs dokumentai kuriami dinamiškai, atsižvelgiant į kliento pareikalavimus. Tuo jie skiriasi nuo statinių dokumentų, kurių turinys nesikeičia.
2.1. CGI programa duomenis gauna iš UNIX'o aplinkos kintamųjų. Juose saugoma visa informacija apie vartotoją (IP adresas ir pan.) ir sistemą (Serverio porto nr. ir pan.). Taip pat juose patalpinama vartotojo perduota informacija (formų turinys bei pridėtinė kelio informacija).
2.2. Yra du metodai: GET ir POST. Naudojant GET metodą, visa formos informacija yra prijungiama prie URL. Todėl mes galime vykdyti programą tiesiogiai, nenaudodami formos. Jei naudojamas metodas POST, tai formos turinys perduodamas standartiniam įvedimo įrenginiui (STDIN).
2.3. Naudojant duomenų perdavimo metodą GET, formos informacija prijungiama prie URL, todėl ji negali turėti kai kurių simbolių (tarpo, "/" ir pan.). Dėl to visa informacija yra koduojama. Tai atliekama spec. simbolius pakeičiant jų šešioliktainio kodo atitikmenimis.
3.1. CGI programa serveriui gali perduoti tokius duomenis:
3.2. Antraštės užtikrina, kad perduodami duomenys patenkins Web klientą. Jos nurodo perduodamų duomenų tipą, jų ilgį, HTTP būsenos kodus.
3.3. Antraštė "Location" naudojama serverio peradresavimui. T.y. , kai CGI programa ne pati kuria HTML dokumentą, o nurodo gražinti jau egzistuojantį. Galima klaida - negalima nurodyti "Content-type" antraštės, tuo rūpinasi serveris.
3.4. HTTP būsenos kodas "No Response" naudojamas nurodyti vartotojo naršyklei neužkraudinėti naujo dokumento. Tuo siekiama ignoruoti vartotojo klaidas ar neleistinus veiksmus.
4.1. Pagrindinis privalumas yra tai, kad formų interfeisas yra suprantamas visiems Web klientams, todėl gali būti naudojamas kartu su sąsajomis. Trūkumai yra du: formos supranta tik tekstinę informaciją; duomenys gali būti nagrinėjami tik serverio pusėje.
4.2. POST metodas neriboja perduodamų duomenų dydžio, tuo metu kai naudojant GET metodą, duomenų dydį riboja maksimalus URL simbolių skaičius.
4.3. Iššifravimo mechanizmas naudojamas perduotiems formos duomenims atkoduoti (iššifruoti). Jo eigoje sukuriamas vardas-reikšmė porų masyvas. Tokiu būdu formų duomenys paruošiami naudojimui CGI programoje.