CGI

       Common Gateway Interface, ili skraceno CGI, je naziv za metod kojim se pokrecu neki programi na serveru, da bi se njima obavilo nesto sto vi kao tek klijent u Internetu, ili nekoj internoj mrezi, ne mozete obaviti sa svojim kompom, ne zato sto mozda imate slab kompjuter, nego zato sto se radi o radnjama za koje niste ni ovlasteni ni predplaceni. Dakle, radi se o necemu sto ste vec svakako videli, poput onih provera za validnost vase kreditne kartice, ili ulaska u neki Internet arhiv kojeg samo uclanjeni (members) korisnici mogu pregledati, pa je potrebno imati i ulaznu sifru (login). Isto tako, to su oni server programi koji dopisuju vas komentar koji ste poslali za neku knjigu gostiju, ili dodaju vasu repliku u nekoj Internet diskusiji (forum) itd.
.       Dakle, na samom pocetku svega ovog, morate razdvojiti poimanje CGI-a kao metoda ili nacina pokretanja nekog server programa, od samog tog programa. CGI je, znaci, samo posrednik izmedju vas kao klijenta i nekog server programa, te ga trebate tretirati kao jedan spisak komandi, fajl, tacnije programski script, jer je i uobicajeno da se taj posrednik naziva CGI scriptom, mada je i sam taj script zapravo kompletan program, tako da radi i kao prijemnik vasih podataka (posrednik) i kao obradjivac, kreator novog HTML dokumeta po tim podatcima (program), da bi mozda i uzvratio nekim HTML odgovorom vama kao klijentu i poslao vam ono "Hvala", opet kao CGI posrednik. Tek za slozenije potrebe i zadatke (poput baza podataka) CGI script je zaista samo posrednik koji ce onda primljeni materijal proslediti nekom sasvim drugom programu, ili vise njih, na obradu, pa ako je predvidjeno da imate i neki uvid u rezultate svega toga, onda ce po prijemu toga od programa, kao posrednik dostaviti vam na uvid i odgovarajucu izvestajnu formu u vidu HTML dokumenta, jer vi to samo tako mozete i videti svojim browserom.
      I, odmah da znate, CGI scripte se ne prave sa HTML-om ili nekim od do sada pomenutih programskih jezika, pa tako u ovoj skolici sada necete biti ni zlozeni maltretiranju mozdanih vijuga jos i sa tim, nego je samo pozeljno da znate sta su, cemu sluze i kako se koriste. Osim toga vi ni ne mozete koristiti, isprobavati CGI scripte na vasem kompu, osim ako na njemu nemate instaliran i HTTP server. Pa cak da i to imate, onda opet ne mozete sve dok taj server propisno ne konfigurirate da izvrsava (podrzava) i rad CGI scripti. To onda znaci da ne mozete ni na bilo kojem Internet serveru postavljati i koristiti neke svoje CGI scripte, ako taj server ne daje podrsku i za tako nesto. To nije stvar nekvaliteta servera, ili necijeg neznanja, nego je sve stvar sigurnosti i obezbedjenja, posto vi u vidu CGI scripte mozete onda tako postaviti i neki programcic za hackovanje (neovlasten ulaz u neki arhiv) i slicne stvari. Uz to, rad bilo kakvog programa kao konacan rezultat uvek daje neki novi fajl koji sobom zauzme i odredjen deo memorije, pa dozvoliti nekome da se tako "siri" na hardu nekog servera je zaista stvar za dobro razmisljanje.
      Pre nego vam objasnim zasto necete moci ziveti bez koristenja neke CGI scripte na nekom serveru, treba tek reda radi navesti i programske jezike sa kojima se trenutno izradjuju te CGI scripte. Najpopularniji i najcesce koristen je Perl, jer je to jezik koji je specijalno i kreiran samo za tu namenu, tako da je tesko pronaci server koji nema podrsku za izvrsavanje CGI scripti napisanih u Perlu. Nakon toga slede C, C++, Shell i Visual Basic programski jezici. Medjutim, dozvoljeno vam je da odmah ove ostale zaboravite, jer ono sto mozete naci kao besplatnu ponudu Perl scripti, daleko premasuje i vase najekstremnije zahteve, koje bi mogli imati pri izradi vasih web prezentacija.
      CGI scripte se po dogovorenom standardu smestaju na serveru u direktorij (fasciklu) pod uobicajenim nazivom cgi-bin. Kako se za scripte pisane Perl-om uobicava staviti *.pl extenzija iza naziva tog fajla, onda bi u slucaju nekog Perl brojaca poseta taj dokument mogao biti kao counter.pl, a onda smesten u cgi-bin direktorij na serveru. Primecujete li kako nakon pominjanja brojaca poseta, vas interes za CGI scripte naglo raste ? A sta tek, ako vam kazem i da CGI kreira vasu knjigu gostiju, obavlja i upise u ponudjeni E-mail adresar ili kreira topice i replike na nekoj vasoj diskusiji (forumu). Pa hajde onda da odmah krenemo od nekog brojaca poseta. Posto svaki pocetak web dizajna podrazumeva da se prva iskustva instalacije i objavljivanja svojih web dela obavljaju na nekom free (besplatnom) server posedu, onda je za pretpostaviti i da cete se za pocetak isto tako posluziti i nekom free ponudom za koristenje CGI scripte koja ce voditi evidenciju poseta vasoj prezentaciji i to pokazivati nekim lepim brojevima negde na njoj. Posto je vec objasnjeno da je CGI scripta najobicniji fajl, kojeg onda trebate tretirati poput fajla grafike (slika.gif) ili HTML dokumenta (stranica.htm) ili izdvojenog Java Scripta (nesto.js) ili jednostavno, kao i sve ostalo na sta linkujete (adresirate) radi prikazivanja ili uvlacenja u sadrzaj, onda je jasno da se i CGI scripta koristi na isti nacin, najobicnijim linkovanjem na nju. U slucaju nekog brojaca poseta besplatno koristenje imate na serverima poput http://extreme-dm.com , http://www.thecounter.com ili http://www.fastcounter.com pa u njihovim rubrikama "Join" ili "Get free counter" trebate ispuniti clansku prijavu, nakon cega vam odmah E-mailom posalju tacan URL (link adresu) koji trebate ubaciti u HTML sadrzaj svoje web stranice. Mesto upisa tog linka odredjujete kao i mesto za neku sliku, jer u biti na tom mestu i dobijate sliku brojcanika koja ce vam biti uvucena sa tog servera. Dakle, CGI brojac poseta ne mora uopste biti na istom serveru gde i vasa prezentacija, nego kao i sve drugo moze biti na bilo kom serveru na planeti. Vazno je samo da je link tacan i da su veze u redu. I onda, kad neko klikne na vasu adresu da pogleda sta to vi fantazirate, dok mu se stranica ucitava ode poziv i za vas brojac poseta, a u linku stoji i vasa clanska identifikacija, pa cim to dodje do cgi obrade, program kaze "a, ha, evo ga onaj, cek da vidim koliko je tu bilo do sada, a ha, toliko, znaci sada jedan vise.." pa vam lepo posalje slikice s brojevima, jedna uz drugu, i vi vidite tacan rezultat. Treba jos samo napomenuti da slikice brojeva ne salju i textualni brojaci poseta, nego oni posalju tekstualni broj, kao kada bi vi to otkucali sa tastaturom u nekom fontu (vrsti slova), tako da trebate znati sta hocete u svim tim free CGI ponudama na internetu.
      Drugi nacin vam je da uzmete neki free CGI script, pa da ga instalisete na serveru gde vam je i prezentacija, naravno pod uslovom da vam to vlasnik servera dozvoljava. Ako dozvoljava, onda cete na svom memorijskom web posedu vec imati postavljen cgi-bin direktorij, pa trebate samo jos proveriti koje programske jezike za CGI podrzava taj server, kako nebi gubili vreme oko scripte koja se nece na njemu izvrsavati. Medjutim, posto je najverovatnije da cete se sluziti Perl scriptama, onda tu nebi trebalo biti nikakvih problema, osim sto morate znati da su te scripte pisane kao i vas HTML, najobicnijim tekstom, pa je CGI scriptu potrebno, nakon postavljanja u cgi-bin direktorij servera, dodatno modovati (CHMOD) a taj jednostavni postupak ce vam biti objasnjen u rubrici Instalacija, levo. Jasno da se tom zadnjom lekcijom u ovoj skolici zavrsava i vasa kompletna obuka za web dizajnera zavidnog znanja. Nakon mnogih saljivih tonova u ovim tekstovima, treba da naglasim kako se sada ni najmanje ne salim, jer ako zaista ovladate svime sto je ovde izneseno bit cete sasvim sigurno odlican webmaster.

Radovanovic Dragan