Čo je to CGI? - Úvod do CGI

CGI, alebo Common Gateway Interface definuje prostriedky a metódy, pomocou ktorých webový server môže komunikovať s externými programami - CGI skriptami. CGI nie je programovací jazyk.

Na čo je CGI dobré?

Veľmi jednoduchá odpoveď by mohla znieť: Na čokoľvek. V praxi sa CGI používa pre tvorbu webových aplikácií ktorých výstupom je virtuálny - dynamický HTML dokument. Takou aplikáciou môže byť napríklad počítadlo prístupov, vyhľadávací stroj, brána k databáze či virtuálny elektronický obchod. Možností je veľa.

Ako CGI funguje?

Na začiatku celého reťazca stojí klient, ktorý odošle servru požiadavku na vykonanie CGI skriptu. V požiadavke môže i nemusí odoslať vstupné dáta. Server túto požiadavku spracuje a k vstupným dátam pripojí množinu špecifických údajov obsahujúcich rôzne informácie o klientovi i servri. Tejto množine údajov hovoríme premenné prostredia. CGI skript vstupné dáta spracuje a odošle ich na svoj výstup. Výstup z CGI skriptu pozostáva z dvoch častí, oddelených prázdnym riadkom. Prvou časťou je HTTP hlavička, resp. jej časť, druhou časťou je samotný HTML dokument. Takto spracované dáta putujú priamo alebo cez web server (to si vysvetlíme v niektorej z ďalších častí) ku klientovi, ktorý ich zobrazí. Väčšinou je však tok dát nasledovný: klient - server - CGI skript - server - klient.

Aké sú nevýhody CGI?

Všetky dáta sú spracovávané na serveri, čím vzrastá jeho zaťaženie. V prípade nedostatočnej pozornosti pri písaní skriptu môžu nastať vážne bezpečnostné problémy, keď skript môže odoslať na výstup citlivé dáta (to je však záležitosťou autora skriptu, aby takéto stavy ošetril).

CGI nie je programovací jazyk, aký programovací jazyk môžem použiť?

Jednoduchá odpoveď: akýkoľvek, ktorý je dostupný na platforme vášho servra. Keďže väčšina operácií prebieha s textom, je vhodné aby jazyk, ktorý si pre písanie CGI aplikácií zvolíte mal vhodné funkcie pre prácu s textom. Môžete použiť Perl, C/C++, Visual Basic, Python či Tcl... V našom seriáli nezaostaneme za väčšinou a uvedené príklady budú v jazyku Perl. Uvedené postupy však budú použiteľné pre ktorýkoľvek z programovacích jazykov.

Prečo práve Perl?

Perl je programovacím jazykom dostupným snáď na všetkých platformách, určite na platformách použiteľných pre beh webových servrov. Programy napísané v Perli sú jednoducho prenositeľné a Perl poskytuje veľké množstvo silných nástrojov pre prácu s textom. Tvrdí sa, že Perl je jedným z najzložitejších programovacích jazykov. Uvidíte však sami, že to nie je pravda. Perl sa pre mnohých programátorov stal favoritom, ktorého sa nechcú vzdať.

Po "slovníkovom" úvode si povieme, čo nás v tomto seriáli čaká: povieme si niečo o podmienkach behu CGI skriptov a pripomenieme si trochu teórie o URL, pozrieme sa spolu na premenné prostredia, SSI, preberieme si tvorbu jednoduchých aplikácií od textového počítadla, telefónneho zoznamu, guestbooku až k základom tvorby vyhladávacích strojov, obslužných skriptov pre reklamu a rôznych brán k informačným zdrojom.

Dúfam že vás náš nový seriál zaujme. Vaše návrhy, pripomienky a postrehy očakávam na e-maili straka@developer.sk.

Developer,
Stiahnuté z Developer.sk