Next: A Web-szerver válasza Up: A WEB alapjai Previous: A felhasználó azonosítása   Tartalomjegyzék


1.4         CGI és a dinamikus lapok

A Web megjelenítő programok képesek közvetlenül elérni információkat az Interneten, de nem korlátlanul. Nem mindig elegendő, hogy egy statikus fájlból tudunk olvasni. Sokszor szükség lehet dinamikusan generált forrásra, amely például egy adatbázisból származhat. A külső kapcsolatok elérését biztosító ú.n. gateway programok segítségével megoldhatók ezek a problémák, és így a Web-en keresztül további információforrások válnak elérhetővé. Egy gateway programnak az a szerepe, hogy eléri a Web-szerver számára nem elérhető állományokat, a Web-szervertől adatokat tud átvenni, az átvett adatok alapján az adatállományokból eredményeket készít, és azokat olyan formára alakítja, amelyet a Web-szerver már el tud küldeni a kliensnek, amelyik így meg tudja jeleníteni a felhasználó részére.

A „kérés” ezekhez a gateway programokhoz többféle forrásból étkezhet. Az egyik ilyen forrás lehet egy „elektronikus űrlap”, amelyet a felhasználó tölt ki. Az űrlap HTML formátumban van elkészítve, és a böngésző jeleníti meg a felhasználónak. Kitöltés után az elküldött elemek átkerülnek a Web-szerverre, ahol ezután megtörténik az adatok felhasználásával a feldolgozás, lekérdezés és tárolás.

A felhasználótól kapott adatok alkalmasak keresésre, elküldhetők egy vagy több adott címre, vagy tárolhatók egy későbbi feldolgozás céljából. Ahhoz, hogy ezeket az adatokat egy program feldolgozza, arra van szükség, hogy ilyen szolgáltatást végző programokat futtassunk a Web-szerveren. Ezek a programok beszerezhetők az Internetről, vagy készíthetünk saját programokat is. Ezeknek a programoknak a feladata, hogy HTML oldalakat generáljanak a gateway programtól kapott adatok alapján, amelyet a Web-szerver a felhasználó felé továbbíthat.

A CGI (Common Gateway Interface, azaz Általános Átjáró felület) segítségével elérhetjük, hogy alkalmazásainkhoz a Web-en keresztül kínáljunk egy hozzáférési felületet. A kommunikáció HTML oldalakon keresztül történik, ezért programjainkat bárhonnan elérhetjük a WEB-en keresztül. A CGI egy olyan kommunikációs forma, amely leírja az adatforgalom módját, a Web-szerver és a gateway program között. Amikor kérés érkezik a felhasználótól, a Web-szerver elindít egy programot, amelynek az ISINDEX, a FORM vagy más HTML elemekből érkező adatokat ad át. Amikor ez a gateway program befejezte a feladatát, akkor visszaküldi aza eredményeket a Web-szervernek, és innen kerül az információ vissza a felhasználóhoz. A CGI azt határozza meg, hogy hogyan kerüljenek a kérés adatai a gateway programhoz és az eredmények vissza a felhasználóhoz.

CGI dokumentáció elérhető: http://stein.cshl.org/WWW/software/CGI/cgi_docs.html

A CGI és általánosabban a WEB programozás akkor kerül előtérbe, amikor az URL által meghatározott oldal nincs statikusan a szerveren, hanem valahogy elő kell állítani a szerveren lévő információkból. Ezek az ú.n. „dinamikus lapok”. A sima statikus HTML oldalak és képek lekérését úgy is lehet tekinteni, mint a nulla operátort, amikor a Web-szerver nem tesz semmit, csak leküldi a kliensnek a Web-oldalt. Amikor az információ nem ilyen módon áll rendelkezésre, vagy a kérés feldolgozása során, a szerveren tárolt információk megváltoznak, akkor már a Web-szerver programozásról van szó.

Ilyenkor a szerver nem csak beolvas egy fájlt valamelyik diszkjéről, hanem elindít valamilyen programot, és ennek a programnak az eredménye adja a szerver válaszát. A CGI segítségével egyszerű számlálóktól bonyolult keresésekig oldhatunk meg feladatokat.

A CGI nem programozási nyelv, hanem egy felület, amin keresztül a programok a Web-szerverrel kommunikálnak. Általában úgy kell konfigurálni a rendszert, hogy csak egy könyvtárban lehessen CGI-t futtatni, és ez rendszerint a főkönyvtárban lévő cgi-bin könyvtár. CGI programot bármilyen nyelven írhatunk, de általában C vagy Perl nyelven, esetleg shell script-ben íródnak ezek a programok.

Ahhoz, hogy egy CGI program fusson a Web-szervernek azt el kell indítani. A CGI programokat nem lehet lokálisan ellenőrizni olyan módon, mint HTML fájlokat, vagy Java, Java Script programokat. A CGI-t nem lehet úgy betölteni a böngészőbe, ahogy egy HTML vagy GIF fájlt. Ha tesztelni akarjuk a CGI programokat, akkor ahhoz mindenképpen egy Web-szerver kell.

1.4.1        A Web-szerver válasza

1.4.2        Környezeti változók

1.4.3        Adatküldés a böngészőből (klienstől) a kiszolgálónak (Web-szervernek)

1.4.4        Adatküldés a kiszolgálótól a gateway programnak

1.4.5        Adatküldés a gateway programból a kiszolgálóra


Next: A Web-szerver válasza Up: A WEB alapjai Previous: A felhasználó azonosítása   Tartalomjegyzék

 
Misóka Zoltán 2000. 10. 05.