dr. Nyári Tibor nyari@iif.u iif.u-szeged.hu szeged.hu World Wide Web Bevezetés a hálózati információ szolgáltató rendszer tervezésébe és használatába
World Wide Web GRAFIKUS INTERNET SZOLGÁLTAT LTATÁS, amely szavakat, kifejezéseket, dokumentumokat, képeket, animációt, hangot kapcsol össze. A Web a világ egy meghatározott pontján lévő számítógépen tárolt objektum, mely összekapcsolható a világ más pontján lévő másik hasonló objektummal (GLOBÁLIS) LIS); - a kapcsolat lehetővé teszi a másik objektum befolyásolását, kezelését (INTERAKTÍV) V); - az összekapcsolt objektumok nemcsak szövegek, hanem képek is lehetnek (GRAFIKUS); - a kapcsolat maga folyamatosan változtatható (DINAMIKUS); - az objektumok különböző elemei között kölcsönös asszociációk hozhatók létre (HYPER TEXT).
A Web három h alapeleme: 1., Egyetemes nómenklatn menklatúra, amellyel a különbk nböző forrásokra lehet hivatkozni: Minden információs egység (kép, animáció, szöveg, stb,) forrásként jelenik meg a hálózaton. Ezekre a forrásokra olyan módon lehet hivatkozni a kapcsolatok felépítése során, hogy meg kell adni a a forrás helyét, és annak módját, ahogy a használt program meg tudja jeleníteni ezt a forrást. Az alkalmazott megjelenítési módot az URL - Uniform Resource Locator - egységes forrásazonosító adja meg. 2., A forrás s megjelenítése a nevének nek használat latával: A Web megjelenítési eljárása a HTTP - Hyper Text Transfer Protocol, amely egy szabványos internet protokoll. Szabálygyűjtemény a hálózathoz kapcsolódó programokhoz. Szabályozza, hogy a programok hogyan kommunikáljanak egymással, illetve a kapott adatok mit jelentenek. A Web-programok képesek kommunikálni más rendszerekkel is, vagyis más internet protokollt is használhatnak: FTP, GOPHER, WAIS, NNTP, stb.
3., A szöveg logikai struktúráját t leíró rendszer: A dokumentumok logikai struktúráját a HTML - Hyper Text Markup Language, jelölései segítségével lehet szabályozni. A HTML definiálja a szöveg logikai komponenseit. Arra készült, hogy segítségével logikusan szervezett és felépített dokumentumokat lehessen készíteni. A nyelv alkalmas logikai kapcsolatok létrehozására a dokumentumon belül és a dokumentumok között, ezzel együtt képes kezelni a dokumentum és a felhasználó közötti interakciókat. (pl. on-line help)
Ügyfél-kiszolgáló hálózati koncepció Az információ szolgáltató gépeken egy Web-kiszolg kiszolgáló program fut, amely a megjelenítők által küldött kérésnek megfelelően elküldi a kért információt az adott gépre, amely ebben az esetben az ügyfél. Minden információkérés és az arra adott válasz diszkrét t tranzakció, tehát a kapcsolat csak az átvitel idejére jön j n létrel tre. A dokumentum olvasása során a felhasználó a szövegbe beépített bármelyik kapcsolattal folytathatja az információkérést, ekkor a böngésző program egy másik géptől kérhet információt a megadott logikai kapcsolódásnak megfelelően. A kiszolgáló nem figyeli külön k n az egymás s után n beérkez rkező igényeket nyeket, mindent új j kéréskk sként kezel még akkor is, ha ez ugyanarról a helyről vagy ugyanabból a programból érkezik.
URL-specifik specifikációk A következk vetkező informáci ciókat tartalmazzák: a protokollt, amelyet az adott forrás eléréséhez használunk, (pl.: http, ftp, gopher, stb.,) annak a kiszolgálónak az Internet nevét, amelyen az adott forrás található, (nem anonim kapcsolat esetén login name és password) a kiszolgáló port-jának számát, (ha nincs megadva, akkor az alapértelmezett port érvényes) a forrás s helyét a kiszolgáló hierarchikus állományrendszerében. (könyvtárnév)
Például: protokoll: a dokumentum/, és s a helye a kiszolgálón http://login name:password password@www.korosy.sulinet.hu:8000/ :8000/html/munkaim.htmmunkaim.htm ha kell, akkor felhasználói i név: n és s jelszó@ biztonsági okokból nem ajánlott //a kiszolgáló neve: és s a port/ helyette IP-cím is használható //193.196.80.142:8000/
Speciális karakterek az URL-ben / : az állománystruktúra ra szintjeit jelzi, # : az URL-nek és az URL-en belüli címkének az elválasztására szolgál, (http://www.tiszanet.hu/index.html#sport) % : a kódok bevezető karaktere, (ez?is ez%3fis)? : paraméterek tereket adhatunk át a kiszolgálón lévő programnak, (http://www.tiszanet.hu/telefonkonyv?szeged+power) + : a paraméterek elválaszt lasztására szolgál, (par1+par2+ +parn) : azt jelzi a kiszolgálónak, hogy ez nem egy szokványos könyvtár, hanem az adott felhasználó alkönyvt nyvtárában kell keresni az állományokat. (http://www.tiszanet.hu/ power/) általános szabály: egyébként kódolni kell!
URL-ek ek: http: segítségével kiszolgálók, állományok, dokumentumok és azok részei is elérhetők http://www.korosy.sulinet.hu/kereso http://www.korosy.sulinet.hu/ http://www.korosy.sulinet.hu/phonebook?par1+par2 http://www.korosy.sulinet.hu/html/munkaim.htm#programozas http://www.korosy.sulinet.hu/cgi-bin/ http://www.korosy.sulinet.hu/ nyari/
URL-ek ek: https: segítségével kiszolgálók, állományok, dokumentumok és azok részei is elérhetők biztonságos módonm Ha egy biztonsági rést kihasználó támadás biztonságos HTTP (HTTPS) protokoll alapú adatokat fog el, a HTTPS formátumú adatokat nem lehet olvasni egyszerű szöveges formátumban, mert a HTTPS protokoll Secure Sockets Layer (SSL) technológiával titkosítja az adatokat. Ennek következtében a HTTPS protokollal küldött felhasználónevek és jelszavak sokkal kevésbé veszélyeztetettebbek, mint a HTTP protokoll használatával elküldött, egyszerű szöveges formátumú adatok.
URL-ek ek: gopher: gopher kiszolgálók elérési lehetősége A Gopher forrásokat több forrásazonosító segítségével lehet használni: pl. szövegállomány(0), könyvtár(1), indexelt keresés(7), stb. gopher://kiszolgáló.hu/0hivatkozás gopher://kiszolgáló.hu/1alkönyvtár_1/alkönyvtár_2 gopher://kiszolgáló.hu/7tanulo/keres?remek+elek gopher://kiszolgáló.hu:7000/ port default=70
URL-ek ek: ftp: az FTP kiszolgálókon a felhasználók számára hozzáférhetővé tett állományok és könyvtárak elérése és letöltése a saját gépre. ftp://ftp.korosy.sulinet.hu/ ftp://ftp.korosy.sulinet.hu/alkönyvtár_1/cgi.zip ftp://login_name:password@ftp.korosy.sulinet.hu/kepek/ora.zip
URL-ek ek: mailto: segítségével üzenet küldhető a hálózaton szabadon választott vagy előre meghatározott címre Formátuma különbk nbözik az eddigiektől!!! mailto: nyari@iif.u-szeged.hu Nem minden megjelenítő program ismeri!!!
URL-ek ek: news: segítségével USENET-csoportokra vagy egyes USENET-cikkekre lehet hivatkozni. Formátuma szintén n különbk nbözik az eddigiektől!!! news:usenet_csoport_név news:usenet_cikk_azonosító A beküldött összes cikk olvasható a kiválasztás után Egy meghatározott cikket hoz a képernyőre Nem minden megjelenítő program ismeri!!!
URL-ek ek: telnet: segítségével egy másik (távoli) gépre lehet bejelentkezni telnet://sol.cc.u-szeged.hu Nem lehet a bejelentkezéshez szüks kséges felhasználói i nevet és s jelszót t beépíteni a telnet URL-be!!! Csak UNIX gépek között: rlogin rlogin://login_name@sol.cc.u-szeged.hu A jelszóra szükség esetén rákérdez!
URL-ek ek: wais: segítségével keresni lehet a WAIS kiszolgálókon wais://wais.kiszolgáló_név/adatfile?keresési_paraméterek Annak a gépnek a neve, ahol keresni akarunk Annak a WAIS adatbázisnak a neve, amely a keresett adatokat tartalmazza wais://wais.kiszolgáló_név/adatfile Önmagában kereshető adatbázisra utal
URL-ek ek: file: olyan dokumentumra utal, amely a lokális rendszeren található, ugyanazon a gépen, amelyen a megjelenítő program is fut file://www.korosy.sulinet.hu/html/munkaim.htm file://www-root/html/munkaim.htm file://localhost/html/munkaim.htm Teljes elérési útvonallal!
A HTTP protokoll: Olyan ügyfél-kiszolgáló protokoll, amelyet hypertext dokumentumok gyors és hatékony megjelenítésére terveztek. Állapotmentes protokoll, amely azt jelenti, hogy az ügyfélprogram több kérést is küldhet a kiszolgálónak, amely ezeket a kéréseket egymást stól l teljesen függetlenf ggetlenül kezeli, és minden dokumentum elküldése után lezárja a kapcsolatot. A kiszolgáló mindenki számára egyformán n elérhet rhető és s gyors. Minden HTTP-kommunikáció 8 bites alapon zajlik, amely biztosítja az adatok biztonságos átvitelét és a különböző szabványos karakterkészletek használat latának lehetőségét.
A HTTP protokoll: A HTTP-kapcsolat lépései: l 1., A kapcsolat megnyitása. 2., A kérés elküldése. A ügyfélprogram üzenetet küld a kiszolgálónak, amelyben 3., A válasz. A kiszolgáló a választ visszak valamilyen szolgáltatást kér. A kérés a HTTP-fejl fejlécből és a kiszolgálónak küldött adatokból áll. A fejléc információkat tartalmaz a kiszolgáló számára arról, hogy hogy milyen típusú a kérésk és megadja, hogy az ügyfélprogramnak milyen lehetőségei vannak. laszt visszaküldi az ügyfélprogramnak. Ennek része a fejléc, amely leírja a válasz állapotát (sikeres, sikertelen, a küldött adatok típusa), majd az adatok. 4., A kapcsolat lezárása. Az erőforr források újra felszabadulnak a következő kéréshez.
A HTTP protokoll: Miért jobb a HTML/1.1-es verzió a HTML/1.0-nál? 1 HTTP/1.0 Objektumonként újra meg újra felépülő kapcsolat böngésző 2 3 4 web-server HTTP/1.1 Csak egyszer építjük fel a kapcsolatot és az objektumok letöltődnek böngésző 4 3 2 1 1 2 3 4 web-server Sokkal hatékonyabb kommunikáci ció! A HTTP/1.0 protokollnál addig nem lehet következő HTTP kérést küldeni, amíg a válasz meg nem érkezett. Míg a HTTP/1.1-ben a válaszok sorrendje kötött.
A HTTP protokoll: Helyettesítő (PROXY) kiszolgáló: Olyan lokális hálózatokon használják, amelyeken védeni akarják a rendszert az illetéktelen külsk lső hozzáféréstől. Ez a védelem azokon a gépeken, amelyeken keresztül a helyi kiszolgáló kapcsolódik a külvilághoz, egy megfelelő program (firewall) használatával érhető el. Ez a program fogadja a TCP/IP adatcsomagokat, kapcsolatokat és ezzel meggátolja a közvetlen k hozzáférést a helyi hálózathoz. Így azonban a belső felhasználók sem érik el közvetlenül a külső webszolgáltatásokat. A html-dokumentumok eléréséhez a megjelenítő programot a proxy-kiszolg kiszolgálóra kell beáll llítani a tényleges külső elérés helyett. Ez a program hozzáfér r mind a külsk lső,, mind a belső forrásokhoz sokhoz, és biztonságos gosan közvetíti az adatokat a kettő között.
HTML elemek (tag( tag-ek): A HTML-ben írt dokumentum csak ASCII-karakterekből áll, és két dolgot tartalmaz: a dokumentum szöveg vegét, és HTML-elemek elemeket. <elemnév> szöveg, amelyre vonatkozik </elemnév> <elem nyitó rész> </elem záró rész> A nyitó elem bekapcsolja, a záró elem kikapcsolja az adott funkciót. Nem minden elemnek van nyitó és s záróz része. Néhány csak egyoldalas, míg mások csak hordozzák, magukba foglalják a további informáci ciókat.
HTML elemek (tag( tag-ek): A HTML-dokumentum alapja: <HTML> <HEAD> <TITLE>Ez a dokumentum címe </TITLE> </HEAD> <BODY BACKGROUND= /KEPEK/hatter.gif BGPROPERTIES= fixed LEFTMARGIN= 50 TOPMARGIN= 40 > A dokumentum törzse </BODY> </HTML>
HTML elemek (tag( tag-ek): HTML-elemek egymásba ágyazásának szabálya: Az elemek mindig egymásba ágyazva fordulnak elő a szövegben, és ez az egymásba ágyazás adja meg a dokumentum struktúráját. Az elemek soha nem szerepelhetnek átfedésben! <A HREF= http://localhost/index.html ><B>Széllel szemben</b></a> nem ajánlatos! SZABÁLYOS!!! <A HREF= http://localhost/index.html ><B>Széllel szemben</a></b> nem ajánlatos! HIBÁS!!!
Néhány érdekes HTML elem: <!-- --> Megjegyzés leírást, további magyarázatot adnak a dokumentumhoz, nem jelennek meg a képernyőn. <!--# --> SSI-specifik specifikáció Pl.: SSI-kiszolgáló oldali kiegészítő szolgáltatások, olyan parancsok, amelyek a kiszolgáló oldalán képesek utasítások végrehajtására. A kiszolgálónkat <!--#echo var= HTTP_USER_AGENT --> böngészővel látogatta meg. <!--#include virtual= /titkos/beszurni_akart_file.html --> <!--#email tohost= www.korosy.sulinet.hu message= Itt járt valaki toaddress=nyari@ korosy.sulinet.hu subject= Újabb látogató a serveren --> <!DOCTYPE...> Dokumentum típust a HTML dokumentum leírását, a használt nyelvi elemek körére utaló információ. A dokumentum legelső sora!!!
Néhány érdekes HTML elem: <ADDRESS> </ADDRESS> Címzés a szövegben aláíráshoz hasonló információkat adhatunk meg. (ki, mikor, milyen céllal készítette a dokumentumot, copyright) <APPLET> </APPLET> JAVA applet beépítése HTML 4.0-ban helyette az <OBJECT> elem használata javasolt. <APPLET codebase= /APPLIC/JAVA/ code= scroll.class width= 400 height= 40 align= right <param name= text value= Ezek futó szavak... ><param name= fontsize value= 28 ><param name= fontstyle value= 1 ><param name= font value= 0 > <param name= velocity value= 2 ><param name= forecolour value= 25528015 ><param name= backcolour value= 14737632 ></APPLET> <BASE> Eredeti hely Eredeti hely ha a dokumentumot elmozgatjuk a könyvtárstruktúrán belül, akkor a dokumentum eredeti helyét jelzi, így a rá való hivatkozás érvényes marad. <BASE HREF= http://www.korosy.sulinet.hu/verseny/ >
Néhány érdekes HTML elem: <AREA > Terület A képek adott területekre történő felosztásához, a kijelölt terület alakjának és koordinátáinak megadására szolgál. Nem szükséges a kiszolgáló oldalán programokat futtatni vagy CGI-programokat fejleszteni, a teljes kiértékelés és a kapcsolatok definiálása magá- ban a HTML dokumentumban történik. <MAP NAME= nyomogomb > <AREA SHAPE= RECT COORDS= 10,10,49,49 HREF= tanárok.html > <AREA SHAPE= CIRCLE COORDS= 90,65,13 HREF= diákok.html > <AREA SHAPE= POLYGON COORDS= 10,52,10,79,77,66,52,79 HREF= iskola.html > <AREA SHAPE= DEFAULT COORDS= 0,0,,179,79 NOHREF></MAP> <IMG SCR= /KEPEK/menu.gif USEMAP= #nyomogomb > <BDO> </BDO> A szövegmegjelen vegmegjelenítés s iránya <BDO LANG= IW DIR= RTL >Ide héber nyelvű szöveg lesz jobbról balra kiírva.</bdo>
Néhány érdekes HTML elem: <TABLE> </TABLE> Táblázat Sok paraméter, lehetőség szerint ne manuálisan készüljön. Külön minta alapján. <FORM> </FORM> Űrlap forma Sok paraméter, lehetőség szerint ne manuálisan készüljön. Külön minta alapján. <FRAME> </FRAME> Keret Sok paraméter, lehetőség szerint ne manuálisan készüljön. Külön minta alapján. <BGSOUND...> Háttérhang <BGSOUND SCR= /ZENE/udvozlet.wav LOOP= 2 > <BGSOUND SCR= /ZENE/cigany.mid LOOP= INFINITE > A kész hangállományok csak *.wav, *.au, *.mid, *.cd formátumúak lehetnek.
Néhány érdekes HTML elem: <DIR> </DIR> Könyvtár r tartalomjegyzéke olyan rövid sorokból álló listát jelent, amelynek elemei 20 karakternél rövidebb sorokat oszlopba rendezve tartalmaznak. (a DIR csak LI-lista elemet tartalmazhat) <DIV> </DIV> Részlet a HTML-dokumentum egy logikai egységét jelöli. Akkor érdemes alkalmazni, amikor ugyanazon dokumentumban eltérő stílusjegyeket akarunk használni. <INS> </INS> Beszúrás a HTML dokumentumba beszúrandó szövegrészt jelzi. <INS DATETIME= 1999-02-10TO14:25:00-07:00 >Beszúrás</INS>
Néhány érdekes HTML elem: <LAYER> </LAYER> Réteg segítségével az ablakban az elemek rétegbe rendezhetőek. <LAYER SRC= hatterkep.gif HEIGHT= 90 WIDHT= 90 NAME= felso Z-INDEX= 5 VISIBILITY= SHOW ></LAYER> <LAYER SRC= magyarazat.html ABOVE= felso NAME= magyaraz ></LAYER> <META > Kiegész szítő informáci ció a HTML-dokumentumok fejlécében használható azzal a céllal, hogy a benne lévő információkat a kiszolgálók kiértékelhetik és felhasználhatják. Indexek, katalógusok készítése. <META NAME= distribution VALUE= global > <META NAME= resource-type VALUE= document > <NOBR> </NOBR> Sortörés s tiltása Az elem nyitó és záró része közötti szövegrészt egy sorba rendezi, és nem engedélyez sortörést.
Néhány érdekes HTML elem: <NOFRAMES> </NOFRAMES> Kereteket nem ismerő böngészők Ez az elem jelzi a dokumentum megjelenítendő tartalmát azoknak a böngésző programoknak, amelyek nem ismerik a kereteket. Amelyek ismerik, azok a nyitó és záró elem közötti részt figyelmen kívül hagyják. <NOSCRIPT> </NOSCRIPT> Srcipteket nem ismerő böngészők A JavaScript, ill. VBScript programokat értelmezni tudó böngésző programok számára kínál választási lehetőségeket. Ide lehet elhelyezni az információkat a programokat értelmezni nem tudó böngészők számára. <HTML><HEAD><TITLE>Java példa </TITLE><SCRIPT LANGUAGE= JavaScript > <!-- / JavaScript helye... / --> </SCRIPT></HEAD><BODY><NOSCRIPT> Nem JavaScript </NOSCRIPT> </BODY></HTML>
Néhány érdekes HTML elem: <OBJECT> </OBJECT> Objektum a HTML-től eltérő formátumú elemeknek a dokumentumokba beépítését teszi lehetővé. Az elem nyitó és záró része közé írt szöveg az objektumot megjeleníteni nem tudó böngésző programok felhasználói számára is olvasható. <STYLE> </STYLE> Stíluslap használata lehetőséget biztosít arra, hogy a dokumentumok tartalmát el lehessen különíteni a megjelenést szabályozó elemektől. Az egyes HTML-elemekhez sílusjegyek rendelhetők a dokumentum fejlécében, és használat során ezek a jellemzők egységesen érvényesülnek.
HTML-elemf elemfüggetlen eseménykezel nykezelők: k: onload= onupload= onclick= ondblclick= onmousedown= onmouseup= onmouseover= onmousemove= onmouseout= onkeypress= onkeydown= onkeyup= onsubmit= onreset= onselect=
Gateway-programok programok: A Web megjelenítő programok képesek közvetlenül l elérni informáci ciókat az Internet-en, de nem korlátlanul tlanul, és nem minden típust pusú informáci ciófor- rást. A lekérdezések nyomán nem minden esetben elegendő, hogy létrehozzunk egy statikus állományt, és azt elhelyezzük az egyik alkönyvtárba. Szükség lehet egy dinamikusan generált forrásra sra, amely pl. egy adatbázis zisból származhat. A külső programok elérését biztosító ún. GATEWAY programok segítségével megoldhatóak ezek a problémák, és így a Web-en további információforrások válnak elérhet rhetővé. Ezeknek a programoknak az a szerepük, hogy elérik a Web számára elérhetetlen állományokat, és átalakítják őket olyan formára, amelyet a megjelenítő program már r fogadni képesk pes. A programokat a Web-kiszolg kiszolgáló indítja el, képesek adatokat fogadni a kiszolgálótól, és az általuk szolgáltatott eredményeket pedig HTML-for formátumban küldik vissza a kiszolgálón keresztül a felhasználónak nak.
CGI: A CGI-Common Gateway Interface olyan kommunikációs forma, amely leírja az adatforgalom módját a kiszolgáló és a GATEWAY-program között. Működése: Amikor kérés érkezik a felhasználótól, a kiszolgáló elindít egy programot, amelyeknek átadja a HTML-elemekből (ISINDEX, FORM, stb.) érkező adatokat. Amikor a gateway-program befejezte ezeknek a feldolgozását, akkor visszaküldi az eredményeket a kiszolgálónak, és innen kerül vissza a felhasználóhoz. Tehát a CGI specifikációja arra vonatkozik, hogy ezek az adatok hogyan kerüljenek a kiszolgálóról a gateway-programhoz és onnan vissza.
CGI: A Gateway-programokat a következő nyelveken szokták írni: - C, C++, Pascal környezetben írt és lefordított programok; - Perl, tcl, vagy más interpreteres nyelven, (pl. C-shell, Bourne-shell shell) - a legtöbb program az utóbbi formában használatos, mivel így könnyű őket karbantartani, módosítani, és ebben a formában egyszerűen vihetők át gépek között. - futásuk lassúbb, de nem a programok végrehajtási sebessége a küszöb, hanem a kapcsolat felépítése a gépek között.
CGI: 1., Adatküld ldés s az ügyféltől l a kiszolgálónak: A tényleges kereséshez felhasználói adatokat kell továbbítani a kiszolgálón lévő programhoz. Módszerek (METHOD): GET - általában egy egyszerű CGI-programnak egy paraméter átadása feldolgozásra, lekérdezésre. Az átadott értékek a QUERY_STRING változóba kerülnek, ezt kell feldolgozni. http://www.korosy.sulinet.hu/cgi-bin/kereso?par1+par2 QUERY_STRING=par1 par2 POST - ha sok adatot kell feldolgozni, akkor az URL-hez történő hozzáfűzés kényelmetlen, például elektronikus űrlapok (FORM) használata, feldolgozása. NEV=Nyari+Tibor&EMAIL=nyari@iif.u-szeged.hu A kiszolgálón lévő program először szét kell választania a paramétereket: NEV Nyari Tibor EMAIL nyari@iif.u-szeged.hu A & karakter a két paramétert, az = a változó nevét és értékét választja el egymástól. A + aszóközt helyettesíti az átadott karakteres értékben.
CGI: 2., Adatküld ldés s a kiszolgálóról l a gateway-programnak programnak: A CGI specifikációk megadják, hogy mit kell elküldeni a CGI programnak. Három eset lehetséges: Parancssorban megadott paraméterek: - csak akkor lehet parancssorban paramétert átadni, ha az adott paraméterek nem tartalmaznak = -et. A kiszolgáló a + -kel elválasztott karaktersorokat szétválasztja, lefordítja a kódokkal átadott információt, és elhelyezi őket sorban, egymás után a CGI program változóiban (változótömbben). Adatbevitel: - adatbevitel esetén a HTTP POST módszerével továbbított adatok kerülnek a kiszolgálóról a CGI programhoz. Jelenleg ez az egyetlen módszer adatbeviteli információk továbbítására. Az adatok a CONTENT_TYPE, a hosszuk a CONTENT_LENGHT környezeti változókban vannak. Környezeti változv ltozók: - a CGI programoknak a kiszolgáló a paramétereket általában környezeti változók segítségével adja át. Ezeket a változókat a CGI programban használt nyelvtől függően lehet elérni, feldolgozni. A kiszolgáló 19 környezeti változót állít be. A leggyakrabban használt változók: HTTP_ACCEPT - elfogadható dokumentum típusok HTTP_USER_AGENT - a web ügyfélprogram azonosítója
CGI: 3., Adatküld ldés s a gateway-programb programból a kiszolgálóra : A CGI programok elvégzik a kijelölt keresést a hálózaton, illetve a kiszolgálógépen. Az információt ezután vissza kell juttatni a kiszolgáló programnak, mely ezt közvetíti a felhasználónak. Az ügyfélprogramhoz való eljuttatáshoz a gateway-program egy HTML-formátumú dokumentumot állít elő, amely tartalmazza azokat az információkat (szöveg és változók értékeinek formájában), amelyek a kérésre adott választ jelentik. Ezután a kiszolgáló továbbítja a dokumentumot a kérést küldő ügyfélprogramnak, és az megjelenik a felhasználó képernyőjén. Az Internet-en elérhető sok, különböző nyelven készült CGI program, körültekintéssel, kis változtatásokkal könnyen beépíthetőek saját kiszolgálónk programjai közé.
CGI: Néhány olyan program, amely segíthet saját t CGI fejlesztésében: cgiparse: - nehéz hozzájutni; CERN kiszolgálókon; GET és POST method; Bourne-shell. uncgi: - könnyebb hozzájutni; jobb a POST method paraméterkezelése; automatikus GET és POST kezelés; C nyelven. cgi-lib.pl lib.pl: - Perl nyelven, a bevitt adatok kezelésének megkönnyítésére; Perl-listát vagy változótömböt hoz létre; GET és POST method; egyszerű, könnyen kezelhető.
Példa CGI Perl-ben ben: <HTML> <HEAD> <TITLE>Jelentkezési lap </TITLE> </HEAD> <BODY> <H3>Kérlek töltsd ki a mezőket!...</h3> <FORM METHOD=POST ACTION= /cgi-bin/ urlap.cgi > <P>Neved:<INPUT TYPE=TEXT NAME= nev > <P>Tudsz úszni? <INPUT TYPE=RADIO NAME= uszas VALUE = igen CHECKED>Igen <INPUT TYPE=RADIO NAME= uszas VALUE = nem >Nem <P> <INPUT TYPE=SUBMIT VALUE= Elküld > </FORM> </BODY> </HTML> #!/user/local/bin/perl require cgi-lib.pl ; meghívja a programot &ReadParse(*bevitel); beolvasás a bevitel tömbbe print Content-type: text/html\n\n ; print <HTML><HEAD> ; print <TITLE>Jelentkezési lap</title> ; print </HEAD><BODY> ; print <H3>Kiértékelés:</H3> ; if ($bevitel{ nev }) { print <P>$bevitel{ nev } ; kiírja a } else { nev változó értékét print <P>Ezek szerint nincs neve ; } if ($bevitel{ uszas } eq igen ) { print tud úszni ; } else { print elsűllyed ; } print </BODY></HTML> ;
JAVA: A JAVA programozási nyelv a Sun Microsystems terméke. Teljes programozási nyelv, amely operációsrendszer- és platformfüggetlen. Erősen támogatja a grafikai alkalmazásokat, a futtatási környezet dinamikusan változhat. Képes programrészek párhuzamos működtetésére is. Az egyes alkalmazói részek az Internet bármely pontján lehetnek. A fejlesztés során a forráskódból először egy bytecode formátumú közbenső program készül, amit azután a böngészők interpreteres formában ételmeznek. A teljes hardware és software függetlenséget a virtual machine koncepció bevezetése jelenti. Ez egy olyan absztrakt számítógép specifikáció, amely számára a Java-interpreter képes végrehajtható kódot generálni. A különböző gépek és operációs rendszerek számára a konkrét megoldás mindig eltérő, de a végeredmény ugyanaz: egy standard virtual machine. Ez most már mindentől függetlenül képes a Java programok értelmezésére és végrehajtására.
JavaScript: A JavaScript viszonylag egyszerű, interpreteres nyelv, a Netscape (nem a Sun vagy a JavaSoft) terméke. Eredeti neve: LiveScript, ezt marketing célokkal változtatták meg. A nyelv alapvető elemei beépültek a legtöbb böngésző programba, ami lehetővé teszi, hogy a felhasználó oldalán fussanak a programok. A kódot a fejlesztők építik a HTML dokumentumokba. Ez a végrehajtható tartalom azt jelenti, hogy az oldalak többé nem statikusak, hanem a programok beszélgetnek a felhasználóval, vezérlik a böngészőket, dinamikusan alakítják a megjelenítendő tartalmat. Nem kell fordítani, és még a Java-ra jellemző bytecode-os fordítást sem kell elvégezni. A technológia viszonylag új, állandóan fejlődik. Gyakran összefüggésbe hozzák a Javaval, bár néhány apró hasonlóságtól (néhány szintaktika, dinamikus oldalak) eltekintve a két rendszer teljesen különbözik. Nem igazi programozási nyelv, nem használható környezettől függetlenül. Biztonsági okokból nem tudja a felhasználó oldalán a file-okat írni és olvasni (hála Istennek!). Nem támogatja a hálózat kezelését, és nem képes egymással párhuzamosan futó műveletekre. Létezik kiszolgáló oldali változata is - LiveWire.
VBScript: A VBScript - Visual Basic Scripting Edition -a Microsoft által kifejlesztett Web-programozási nyelv. A Visual Basic programozási nyelv szerkezetében leegyszerűsített, a Web felhasználására alkalmassá tett változata. Ebben a rendszerben fejlesztett kód csak az Internet Explorer-ben működik. A Netscape nem támogatja és valószínűsíthető, hogy soha nem is fogja támogatni. A VBScript programok a JavaScript-hez hasonlóan a felhasználó oldalán futnak, és a HTML-dokumentumokba ágyazva érik el a böngésző programot. A <SCRIPT> elem jelzi a böngészőnek, hogy a következő kódot programként kell értelmeznie, és nem közvetlenül a képernyőre vinni. A JavaScript-hez hasonló szolgáltatásokkal rendelkezik, sőt annál fejlettebb is. Ugyanazokat az objektumokat használják, azonban a szintaktikájuk és a támogatott funkciók köre eltér egymástól.
ActiveX: Az ActiveX programok, illetve a COM - Component Object Model - technológia segítségével Web-en keresztül sok más olyan dokumentum és információ elérhető, amelyek eredetileg nem HTML nyelven készültek. Így egy rendszerbe integrálhatók a HTML-dokumentumok, a JavaScript és VBScript alkalmazások, valamint a nem HTML dokumentumok (PDF, különböző video formátumok, animációk, stb.). Az ActiveX nyílt szabványnak készült, amit állandóan fejlesztenek. Nyelvés platform független megoldásokat kínálnak segítségével. A komponensekben lévő objektumok más programok és script-ek segítségével vezérelhetők, programozhatók. Az egyes vezérlőknek egyedi azonosítójuk van. Az ActiveX tehát nem programozási nyelv, nem platform, nem operációs rendszer, hanem egy integrációs technológiai megoldás.
ActiveX: ActiveX vezérl rlő - kis kódméret, főleg a Web-oldalakról töltődnek le, az IE 4.0-ban is van néhány ActiveX konténer ner - software-komponens, amely az ActiveX vezérlőket kezeli (pl.active Desktop) Igen Az ActiveX kontroll már telepítve van? Nem Tartalmaz a kód egy érvényes URL-t? Igen ActiveX letöltése a cache-be Telepíthető és biztonságosan futtatható az ActiveX kontroll? Igen ActiveX kontroll telepítése gépre Nem Nem Hibaüzenet a képernyőn Internet Component Download Service ActiveX kód letöltése: amikor a böngésző program egy html-oldal felrajzolása közben egy ActiveX vezérlővel találkozik, mindig ezt a szervizet hívja. Kész
Védelmi rendszer a destruktív ActiveX vezérlők ellen ActiveX: A digitális aláírás megvizsgálása, a szerző megállapítása és az aláírás érvényességének ellenőrzése Nyilvánvaló kódmanipuláció kiszűrése Windows Trust Verification Service Érvényes a szerző aláírása és nem sérült a kód valamilyen hamisítási kísérlet miatt? Nem Igen Igen A kód készítő beletartozik azok csoportjába, akikbe a felhasználó megbízik? Nem Igen Jelezte a felhasználó, hogy ettől a szerzőtől minden kódot elfogad? Nem Elfogadás Nem Elfogadja a felhasználó az ActiveX kontrollt? Párbeszédablak megjelenítése Nem Megbízott a felhasználó minden olyan fejlesztőben, akinek az adott hitelesítő szervezet biztosította a kódot? A kódban használt digitális aláírás hitelességét garantáló szervezet azonosítása Visszautasítás Igen Igen
Vége