Html és cgi

Common Gateway Interface - kulcs az interaktív oldalak Web.

Ma megnézzük a széles körben elterjedt az internetszolgáltatók és beszélni, hogy mi szükséges ahhoz, hogy a hálózati rendszergazda az ilyen szolgáltatások állnak rendelkezésre a vállalaton belül (a vállalati intranet), valamint a többi felhasználó számára (interneten keresztül). A téma a mai megbeszélés lesz a HTML és a Common Gateway Interface (CGI).

Az egyszerű tag, a költségek semmit, hogy egy hivatkozást minden szót vagy kifejezést. Azonban, egy hivatkozásra, lehet nem csak szöveget, hanem képeket. Mi nem lesz alaptalan, és kapcsolja be a következő kódot:

Ez a kódrészlet grafikusan ábrázolja a FROG.GIF. Ha megadja ezt a képet, és rákattint az egér gombját, webböngészőn kérést küld egy oldalon Web (FROG.HTML) webszerver (www.amphibian.com).

Common Gateway Interface

Kezdettől fogva webfejlesztők keresik a módját, hogy az interaktív web szerver lehetővé teszi a felhasználók nem csak kapni, hanem adja meg az információkat. A szokásos módon, hogy létrehozza ezt az információt már ismert Common Gateway Interface. A felhasználó tájékoztatást kér a webszerver és egy CGI, lefuttat egy programot információt keresni, és az eredményt visszaküldi a felhasználónak. Ehhez a webkiszolgáló használata általában egy HTML oldalon behelyezésével néhány HTML kimutatások létező oldalt. Server Web alkalmazása CGI így potenciálisan futni a különböző programokat.

Ha már használta a webes kereső, hogy megtalálja a kívánt szöveget, akkor használjuk a CGI. CGI de önmagában nem egy kereső. Sőt, ez biztosítja interakció programok, mint a keresők, webkiszolgálókkal.

HTTP szerverek (Web) elsődleges célja, hogy szolgálja a HTML dokumentumok. CGI fájlokat, azonban dokumentumokat és programokat. Tárolni CGI programok a legtöbb szerver egy speciális könyvtár, általában az úgynevezett CGI-BIN. A Web szerver tudja, hogy a fájl a könyvtárban tárolt CGI-BIN, végre kell hajtani, és nem küldi el játszani a felhasználó böngészőjének Web. CGI programok írhatók számos különböző nyelven, köztük a nyelv a DOS batch fájlt, BASIC, C és script nyelvek leírásokat, mint a Perl. CGI feladat csak abban a tényben rejlik, hogy a megfelelő időben, hogy aktiválja a CGI program és a program átvinni az összes szükséges adatot a felhasználó által létrehozott vagy a működési környezet. A CGI program ezután feldolgozza a bemeneti adatokat. Feldolgozásának befejezése után (végrehajtási ideje - legfeljebb néhány másodpercig, mert a cél az interaktív), a program visszatér némi eredményt a felhasználót a böngésző Web. Annak érdekében, hogy a böngésző reprodukálni eredményeként CGI program kell átalakítani, hogy a kimenete egy dokumentumot HTML.

FORMA minden alkalomra

A forráskód formájában térhatású címkék

és
(Cm. 1, 14 vonalak és a nyomatok 1). Az action kell venni az áthelyezés után űrlapot. Más szóval, ACTION határozza meg, melyik CGI programnak futnia kell feldolgozni az űrlapot, és megad vagy teljes vagy részleges URL a program (ebben az esetben /SGI-BIN/EXAMPLE.PL). Attól függően, hogy a webkiszolgáló megadhatja az összes program CGI könyvtár alapértelmezés szerint. Ha a program a futtatni kívánt tárolt ebben a könyvtárban, elegendő megadni csak a fájl nevét, amit tartalmaz. Ellenkező esetben előfordulhat, hogy írjon a teljes URL-t a fájl.

MÓDSZER átviteléhez használt bemenő adatok formájában egy CGI program, amely feldolgozza az adatokat. Néhány évvel később, megbeszéljük a módszer itt bemutatott, de most azt látjuk, hogy akkor két alapvető módszer: GET és POST. Ha megy, hogy kell használni az adatátvitelhez a penész a CGI program meghatározott ACTION = „/SGI-BIN/EXAMPLE.PL” GET módszer, győződjön meg arról, hogy a CGI-program alkalmas arra, adatok ilyen módon továbbítani. Ezen felül, ha használ adatokat átvinni az űrlapot POST módszert, győződjön meg arról, hogy a program vár, hogy megkapja az adatok szerint ez a módszer.

További rendezett formában váltógomb, és alatta - a keret kiadásának zászlókat. Mind a kettő lehetővé közül választhatnak több lehetőség, de kissé eltérő a céljuk. Akkor egyszerre megjelölni több négyzetet, de csak egyet válasszon választógombot. Összehasonlításképpen, a választás az egyik lehetőség nem törli a válogatott másik.

Nézzük először beszélni a gombok változtatni. RADIO gomb kerül meghatározásra típusát jelző bemenet. Három vonalak (6-8) utalnak a kapcsolási gombok, amelyek mindegyike lehet kiválasztani. Minden vonal kombinációt tartalmaz NAME = „PRODTYPE”, amely meghatározza a logikai mező nevét PRODTYPE. Ha ez volt az első gombot, PRODTYPE területén lesz állítva híd. (Az érték kombinációja „value =” HÍD „”.) Vegyük észre azt is, kulcsszó ellenőrizendő tétel 6. Az első megjelenés formája van kiemelve gomb BRIDGE; Más szóval, ez az érték tettünk az alapértelmezett értéket; a felhasználó megváltoztathatja, ha rákattint a router vagy kapcsoló gomb.

Ezután jön egy sor három jelölőnégyzetek használatával válassza ki, hogy melyik protokollt támogat termék (9-es és 11). Ha rákattint a négyzetet jelenik meg az „X”, jelezve, hogy a zászlót emelt; Ha rákattint az „X” eltűnik, azaz jelölőnégyzetből.

zászlók keret segítségével létrehozta az „input type =” checkbox”. A program működik megfelelően, akkor meg kell adni, hogy milyen típusú bemeneti paraméter egy szó. Meg kell adnia a nevét a beviteli mezőbe. A nyomat 1 beviteli mező neve az első zászló definíciója . Mint látható az IP, a kód még mindig tartalmaz az ellenőrzött kulcsszót, jelezve, hogy alapértelmezés szerint ez a jelölőnégyzet be van jelölve, a felhasználó törölheti azt egyszerűen kattintson a dobozban.

Amikor a zászló van emelve, az alapértelmezett érték a mező, az azonos nevű mindig „ON”. Bár a példa nincs megadva, akkor adott esetben használja a VALUE attribútum az érték beállításához, mint például a „zöld”, ha ez a négyzet be van jelölve. A példánkban három alapértelmezett jelölőnégyzetet. Így, ha a felhasználó elengedi a doboz formájában visszatérési érték IP = BE, IPX = ON és APPLETALK = ON. Ha jelölt csak az IP-ellenőrzés formájában visszatér csak az IP = ON. Dobozok megfelelő IPX, AppleTalk, már nem tartalmazza.

12. sor definiálja nyomatok 1 ELKÜLD gombra. Miután az űrlap kitöltésekor átvitelére a CGI programok futnak a webkiszolgáló, a felhasználónak kell kattintson a Mehet gombra. Amint látható 12-es vonal, Igazolni gombot létre megadásával bemeneti ELKÜLD típusát. A megjelenő szöveg a gombra, akkor meg a változó értékét.

Ha a felhasználó megnyomja a küldés gombot, webböngésző lépéseket tenni meghatározott ügyben, ebben a formában (például az 1. sorba 1. lista). Ebben az esetben a webszerver fut a script nyelv Perl, ami a példánkban az úgynevezett EXAMPLE.PL és abban a könyvtárban található CGI-BIN.

Webkiszolgálónként tudja, hogy kell futtatni a programot, és nem csak add vissza a böngésző kérésére? Ez következik a könyvtár nevét, ahol a program található - CGI-BIN. A legtöbb Web szerver, ez a könyvtár van fenntartva, különösen a futtatható fájlokat. (Tárolhat futtatható fájlok és más könyvtárak, de a CGI-BIN tartalmaznia kell az összes fájlt kell futtatni távolról, az interneten.)

Tartása összes végrehajtható fájlokat a CGI-BIN is egy jó védelmi intézkedés. Ahogy a Web adminisztrátor, engedélyezni kell a webkiszolgáló csak hogy ebben a program könyvtárába. Ezen túlmenően, gondosan ellenőrizze az összes programot, amely ebbe a könyvtárba, és győződjön meg róla, hogy nem lehet őket használni, hogy kárt vagy cserélje fájlokat, vagy zárja ki a biztonsági intézkedéseket. Ha például valaki jönne egy ilyen program, hogy olvassa a rendszer jelszó fájl, a védelem a rendszer nem fog.

A példánkban már említettük Perl Practical Extraction and Report Language. Azok számára, akik nem tudják, elmagyarázni neki. Perl egy interpretált nyelv, amelyet eredetileg felhasználásra Unix-alapú rendszerek, de most költözött sok más operációs rendszerek. Perl interpreter, vannak például a Macintosh és a Windows NT. Program Perl script általában nevezik, összehasonlítva a fejlesztési programok C, vagy más standard programozási nyelvek, hogy viszonylag gyors és egyszerű. Perl közelebb van a nyelv a DOS batch fájlt, hanem a klasszikus programozási nyelvek. Perl különösen jól működik a húrok, hogy amint azt már láttuk, hogy ez nagyon fontos, CGI programozás.

13 sor nyomatok 1 ismerteti a Reset gombot. Ha a felhasználó rákattint a gombra, az összes paraméter alapértelmezett értékeket. A példánkban fogjuk jelölni egy gombot Bridge és mindhárom dobozok (IP, IPX és az AppleTalk).

Ha rákattint a Küldés gombra, az információt továbbítja a webkiszolgáló formájában pár mezőnevek (más néven kulcs) és értékeket. Tegyük fel, hogy a példában a hajtott kapcsolati formák, mint a felhasználó nevét, a termék bevezetésre SuperDuper mondta kapcsoló gombot, a router és a támogatott protokollok IP és IPX. Ebben az esetben, ha rákattint a Mehet gombra, az űrlap kerül átadásra a paraméterek NAME = SuperDuper, IP = ON és IPX = ON. (Ha az AppleTalk jelölőnégyzet nincs bejelölve, a mező értéke AppleTalk ( „AppleTalk = off”) egyszerűen nem peredanon.)

Tehát megnéztük, hogyan HTML űrlapok tájékoztatták a webes felhasználói és továbbítja azt a CGI program formájában kulcs / érték párokat. Mivel az üzemeltető ACTION, megadva a nyitó címke

, rámutat arra, hogy a fájl található a könyvtárban CGI-BIN, webszerver tudja, hogy ezt a fájlt kell futtatni, de nem jelenik meg a megkereső böngésző Web, mint amilyet akkor abban az esetben egy egyszerű dokumentumot HTML.

Ismeri CGI

CGI programok hasonlóak a normális. Ők is kapnak információt STDIN vagy környezeti változók, és küldjön a szabvány kimenetre.

Ahhoz, hogy megértsük az elvet interakció egy webböngészőt CGI program, meg kell, hogy menjen vissza egy kicsit, és megvizsgálja, hogyan a böngésző elküldi HTML egyszerű lekérdezéseket, és hogyan kell azokat a Web szerver válaszol.

Tegyük fel, hogy helyezze el a következő hivatkozást a dokumentumba HTML:

Ha kiválasztja ezt a linket a böngésző elindítja a következő kérés a webszerver:

A következő két GET fejléc Accept fejléc azt jelzi, hogy a böngésző képes fogadni fájlokat egyszerű szöveges vagy HTML formátumban. Ha a böngésző kaphat nagyobb számú adattípusok egy lekérdezés jelenik meg több főcímet az elfogadás, amely leírja az egyes típusú adatok szempontjából a Multipurpose Internet Mail Extensions (MIME).

Web szerver a kérés nyomán fog kinézni:

Cím „Server” Web kiszolgáló elküldi a nevét és verziószámát, valamint a változat HTTP. Egyéb címek típusát ismerteti (ebben az esetben a szöveget HTML formátumban), és hossza (231 bájt) a küldött dokumentum. Web böngésző ekkor beolvassa és feldolgozza a HTML-szegmens a fájlt.

Abban az esetben, CGI egész eljárás nem sokban különbözik, kivéve, hogy a kért fájl található a könyvtárban CGI-BIN. Ez azt jelzi, hogy a webkiszolgáló, hogy a kért fájl kell tenni, és nem küldi el a böngésző megjeleníti a dokumentum HTML.

Már rámutatott, hogy a kapott információk a felhasználó vagy egy webböngésző, lehet küldeni a webszerver egyik kétféleképpen történhet: GET vagy POST módszerrel.

Amikor a GET metódus minden formában szereplő adatok az URL-t az úgynevezett query string. Tegyük fel például, hogy van egy egyszerű űrlap, amely csak két területen, az úgynevezett szín és a méret, és hogy a felhasználó lépett be és égszínkék NAGY ill. Tegyük fel továbbá, hogy a CGI program, amely várhatóan az adatok feldolgozására, a script nyelv Perl, az úgynevezett EXAMPLE.PL és abban a könyvtárban található CGI-BIN. Akkor nyomja meg a Küldés gombra, és a böngésző, előre formázott HTML kérelmet, küldje el a webszerver.

Kód HTML formában kell tartalmaznia ACTION üzemeltető és mondd el a szerver Web, néhány módszer (ebben az esetben a GET) fogják használni adatátvitelre. Így az első forma ügyintézőnk lesz:

Ez lehetővé teszi a webkiszolgáló tudni, hogy a teljes elérési utat a program futtatásához ( „/CGI-BIN/EXAMPLE.PL”), valamint, hogy mit kell használni a GET metódus. Mint már korábban említettük, a GET módszert használja a query string adatokat adjanak át CGI program. Példánkban, ha a felhasználó a gombra kattint, a webböngésző, hogy a következő kérést a webszerver:

A szöveget, követi a kérdőjel a query string. A válasz erre a kérésre, a szerver elindul a forgatókönyvet, és hozza EXAMPLE.PL vonalszín = SKY% 20BLUEsize = NAGY HTTP 1.0 a QUERY_STRING környezeti változót.

Legközelebb mi továbbra is beszélni, hogy mi a teendő, ha a CGI program feldolgozza a query string. Ezen kívül, mi fog beszélni a POST módszerrel történő adattovábbítás a CGI program.

Html és cgi

1. ábra.
Példa HTML űrlap számos különböző beviteli mezők, beleértve a szöveges mezőbe a kapcsolási gombok és jelölőnégyzetek.

Nyomtatás 1 - CODE példa HTML formák

RÉSZLETEK INTERNET

A bármilyen javaslata, vagy kérdése van, kérjük, bátran forduljon hozzánk

Kapcsolódó cikkek