Szerver programozási nyelvek és adatbázisok technológiái. Web programozási nyelvek: kliens és szerver

Webmastering. Szerver webes programozás

A legvonzóbb és legkeresettebb informatikai szakmák rangsorában bátran a webmestereket helyezhetjük az első helyre - ez a szó nagy vonalakban a weboldalakat fejlesztő és támogató szakembereket jelenti. Ma már minden komoly cég törekszik saját honlap vagy weboldal megszerzésére, ami azt jelenti, hogy képzett szakemberekre van szüksége.

A fejlesztők, programozók, tervezők, optimalizálók értékes alkalmazottak orosz és nemzetközi vállalatoknál. Tisztességes fizetést és vonzó munkakörülményeket kínálnak nekik: vállalati juttatások, érdekes projektek, karrier növekedés, rugalmas időbeosztás. A szolgáltatásai iránti stabil keresletnek köszönhetően a webmester megengedheti magának, hogy szabadúszóként dolgozzon: maga választja ki az ügyfeleket, anélkül, hogy „nagybátyjának” jelentkezne, kedvenc székében ül otthon vagy egy tengerparti szállodában.

Ha úgy dönt, hogy weboldalakat fejleszt, világosan meg kell értenie a webszerver működésének alapelveit. A HTTP-protokoll ismerete teszi a webmestert professzionálissá a saját területén, és lehetővé teszi számára, hogy könnyedén megoldja a webhely-építési problémákat. Az ezt a tényt figyelmen kívül hagyó szakember, ha problémával szembesül, nehézkes programkódot ír, és észre sem veszi, hogy a webszerver konfigurációjában egy-két sorral megoldható.

A mi tanfolyamunk "Webmastering. Szerver web programozás" segít a webszerver mechanizmusainak tanulmányozásában és gyakorlati adminisztrációs ismeretek elsajátításában. Hasznos lesz az irányító tanfolyamot végzetteknek PHP, ASP.Net stb., valamint azoknak a hallgatóknak, akik csak tervezik ezt a képzést. A kurzus ajánlható a web alapú kurzusokat végzetteknek, ha a hallgatók nem vették fel a tényleges kurzust.

Az órákon megnézed az IIS szervert, amely a sor részét képezi OS Windows 8/7És Windows Server 2012/2008, valamint a szerver Apache 2.2-2.4 verziók, gyakran használják a platformon Unix. A tanár figyelmet fordít a biztonsággal kapcsolatos fontos témákra: hitelesítési mechanizmusok, felhasználói engedélyezési forgatókönyvek, SSL beállítása és használata, SSL tanúsítványokkal való munka, Apache mod_rewrite szerver modul használata.

A megszerzett tudást a gyakorlatba is átülteted: A 24 órás tanfolyam 13 laboratóriumi munkát tartalmaz. A tanfolyam elvégzése után képes leszel önállóan adminisztrálni IIS és Apache 2.2-2.4 szervereket, kezelni a tartalom gyorsítótárat, használni az SSL-t és dolgozni RFC specifikációkkal. Képességeit és képességeit a központ rangos okmányai igazolják: bizonyítvány és felsőfokú képzési bizonyítvány.

Ezzel a tanfolyammal kezdődik a sikeres webprogramozói karrier! Iratkozz fel a tanfolyamra!

A tanfolyam elvégzése után képes leszel:

  • Ismerje és értse a HTTP/1.1 protokollt
  • IIS szerver adminisztrálása
  • Apache 2.2 - 2.4 szerver adminisztrálása
  • Tartalom gyorsítótárának kezelése
  • Használjon szerverkezelőket és modulokat
  • Ismerje meg a felhasználói hitelesítési mechanizmusokat
  • SSL használata
  • Dolgozzon az RFC specifikációkkal
Az ilyen tudással és képességekkel rendelkező szakemberekre jelenleg nagy a kereslet. Tanfolyamot végzett hallgatóink többsége sikeres karriert folytat, és tiszteletben tartják őket a munkaadók.

Eladó

A szükséges tartalom megtekintéséhez

Azokat a programozási nyelveket, amelyek lehetővé teszik az internetes technológiákkal való együttműködést, webes programozási nyelveknek (a továbbiakban a kényelem kedvéért WPL-nek) nevezik. Némelyikük egykor kifejezetten meghatározott erőforrásokhoz készült, és sokkal később vált széles körben ismertté. PHP például.

WEB programozás Minden nyelv szerverre és kliensre van felosztva:

Kliens webes programozási nyelvek


Az ügyfélnyelven írt programokat a böngésző dolgozza fel. Más szóval, azokat a felhasználó kliense dolgozza fel. Innen ered a neve. Ebből következik a hátrány: a program (script) feldolgozása közvetlenül a böngészőtől függ. A felhasználó akár úgy is beállíthatja, hogy teljesen figyelmen kívül hagyja a szkriptet.

Ezenkívül előfordulhat, hogy egy túl régi böngésző nem támogatja a program nyelvét vagy verzióját. De itt érdemes elmondani, hogy ez meglehetősen ritkán történik, mivel a nukleáris robbanófejeket nem frissítik túl gyakran.

A kliensoldali nyelven készített szkript programkódját bárki megtekintheti, például az oldalra kattintva jobb gombbal, és a helyi menüből (böngészőtől függően) kiválasztja az „Oldalkód megtekintése” vagy valami hasonló lehetőséget.


A kliens szkriptek előnye a gyorsaság. Tegyük fel, hogy a programnak ellenőriznie kell a felhasználó által a VKontakte-on megadott adatok helyességét. Ebben az esetben az ellenőrzés azonnal megtörténik, anélkül, hogy az ellenőrzöttet elküldené a szervernek, és nem kapná vissza a jelentést. Az időmegtakarítás nyilvánvaló.

De ez a hátránya – a kliens szkript egyáltalán nem tud semmit írni a szerverre. Ezért nem lehet majd kliensoldali nyelvi programmal mondjuk vendégkönyvet készíteni, mert ehhez fájlba kell menteni az üzeneteket a szerveren.


A Javascript példái közé tartozik a Java Script, amely jelentős hatással volt a C-Sharp (itt a C# fórum) fejlesztésére, és a Visual Basic Script. Az ügyfélnyelvek tanulmányozásához és a velük való munkához olyan böngészőre van szükség, amely támogatja őket. Például az Internet Explorer, a Mozilla vagy az Opera megfelelő.

Szerveroldali webes programozási nyelvek


A szerver egy számítógép, amelyen egy webhelyet tárolnak, és egy szoftver, amely feldolgozza a webhely oldalaira irányuló böngészőkéréseket.

A szkriptek feldolgozása szerver alapú nyelveken eltér a kliensoldalitól:
a felhasználó megpróbál az oldalra lépni (beírja az URL-t a címsorba vagy követ egy hivatkozást);
az oldalhoz kapcsolódó összes szkript feldolgozásra kerül a szerveren;
Egy HTML dokumentum jelenik meg a felhasználó számára.

Ez azt jelenti, hogy az oldal látogatója nem fogja látni a szkript kódját a szerveroldali nyelven. Így a szkript teljesítménye most közvetlenül nem a felhasználó böngészőjétől, hanem attól a szervertől függ, amelyen a webhelyet tárolják.


Érdemes megemlíteni a DBMS (Database Management System) fogalmát is. Általában ez is egy szerver. A tárhely vásárlásakor a weboldal készítője egy Adatbázist (DB) kap, melynek táblázataiban különféle, bármikor elérhető információkat tárolhat. Ha visszatérünk példánkhoz, akkor az egyik tábla tartalmazhat a vendégkönyvben hagyott felhasználói üzeneteket.

Persze valaki azt fogja mondani, hogy az üzenetek szöveges fájlban is tárolhatók. Az adatbázisban tárolt információk azonban könnyebben kezelhetők – táblázatokat kapcsolhat össze, titkosított jelszavakat tárolhat és még sok mást.

A szerver alapú nyelvek funkcionalitása szinte korlátlan, de elsajátításuk meglehetősen munkaigényes, bármit is mondanak a nyelvalkotók.


Az utóbbi időben a DBMS-ek széles körben elterjedtek, ezekhez egy strukturált lekérdezési nyelven – Structured Query Language (SQL) – keresztül lehet hozzáférni. Nyilvánvaló, hogy az ilyen adatbázisokkal való munkavégzés közvetlen SQL-ismeretet igényel. Ilyen DBMS-ek közé tartozik például a MySQL és a PostgreSQL.

A szerveroldali nyelvek közül a PHP, az SSI és a Perl a leggyakoribb.

A szerveralapú nyelvek tanulmányozásához és a velük való munkához valamivel többre van szüksége, mint a klienseknél - egy szerverre, egy nyelvi tolmácsra és egy DBMS-re.

Általánosságban elmondható, hogy a fentiekből azt a következtetést vonhatjuk le, hogy egyszerű szkriptekhez vagy kezdő webmesterekhez bármelyik kliens oldali Java program tökéletes. Komolyabb fejlesztésekhez szervernyelvet kell tanulni.

Tudtad, hogy a webes programozási nyelvek lehetnek kliens- vagy szerveroldaliak? JavaScript, VBS, PHP, PERL. Tudod, hogy miben különböznek és hogyan működnek? Tudod mi az a szerver? Tudod mi az a DBMS? Tudod? Szóval olvasd el ezt a cikket és megtudod :)

1 - Webes programozási nyelvek, mik ezek?
2 - Kliensoldali webes programozási nyelvek
3 - Szerveroldali webes programozási nyelvek
4 - Néhány utolsó szó

Webes programozási nyelvek, mik ezek?

Valahol azt olvasta, hogy ahhoz, hogy vendégkönyvet vagy felmérést tudjon készíteni, ismernie kell valamilyen webes programozást. Hallottad már, mi az a webprogramozás? Így találkoztunk, mert egykor engem is gyötörtek ezek a kérdések, most pedig megpróbálok választ adni rájuk.

A webes programozási nyelvek olyan nyelvek, amelyeket elsősorban az internetes technológiákkal való együttműködésre terveztek. És néhányat csak azért hoztak létre, hogy valamilyen erőforrással dolgozzanak, és csak hosszú idő múlva szereztek hírnevet és egyetemes elismerést (például PHP). De a különféle webes programozási nyelvek létrejöttének történetébe nem fogok belemenni, hiszen ez nem ennek a cikknek a témája, és ha az olvasót érdekli, a fejlesztői oldalakon megtalálja.

A webes programozási nyelvek két csoportra oszthatók: kliensre és szerverre. Hadd emlékeztessem önöket arra, hogy mi is az a szerver: ez egyrészt a számítógép, amelyen a webhelye található, másrészt az a program, amely bármely oldalra vonatkozóan feldolgozza a böngészőkéréseket.

Ügyfélnyelvek

Ahogy a neve is sugallja, a kliens nyelvek feldolgozása a felhasználó kliens oldalán történik, a kliens nyelvű programokat pedig leegyszerűsítve a böngésző. Ennek az a hátránya, hogy a szkriptek feldolgozása a felhasználó böngészőjétől függ, és a felhasználónak lehetősége van beállítani böngészőjét úgy, hogy általában figyelmen kívül hagyja az Ön által írt szkripteket. Ha azonban a böngésző régi, előfordulhat, hogy nem támogatja az Ön által használt nyelvet vagy nyelvváltozatot. A modern böngészőknél ilyen problémák nem merülhetnek fel, ráadásul a programozási nyelveket nem gyakran (néhány évente) frissítik radikálisan, és közülük a legjobbak már régóta ismertek. Ezen kívül bárki megtekintheti a kliens szkript kódját, ha a böngészője „Nézet” menüjében a „Forráskód” fület választja (vagy valami hasonlót).

A kliensnyelv előnye, hogy az ilyen nyelvű szkriptek feldolgozhatók anélkül, hogy dokumentumot küldenének a szerverre. Ezt egyszerűbb megmagyarázni egy példával: tegyük fel, hogy ellenőrizni kell, hogy a felhasználó helyesen írta-e be az e-mailt (azaz például ellenőrizni kell a „@” jelenlétét); Ehhez a felhasználónak el kell küldenie egy űrlapot kitöltött adatokkal, majd meg kell várnia a feldolgozást, és csak ezután kapna hibaüzenetet (ha természetesen van ilyen). A folyamat túl hosszú. A kliens nyelvével a program a küldés előtt azonnal ellenőrzi az űrlap helyes kitöltését, és szükség esetén hibát jelez. Ez egyben ahhoz a korláthoz is vezet, hogy kliens programozási nyelv használatával semmit nem lehet a szerverre írni, azaz például nem lehet vendégkönyvet készíteni, mert akkor a szerveren valamilyen fájlba üzeneteket kell írni.

A leggyakoribb kliens nyelv a JavaScript, amelyet a Netscape (www.netscape.com, gondolom ismeri a Netscape Navigator böngészőjét) a SunMicrosystems-szel (www.sun.com) együtt fejlesztette. Egy másik ügyfélnyelvi lehetőség például a VisualBasicScript (VBS). A kliens webes programozási nyelvének megtanulásához olyan böngészőre lesz szüksége, amely támogatja ezt a nyelvet (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla ( www.mozilla .org), megfelelő lehetőségek lennének (én személy szerint az utóbbit használom)) és képzési anyagok, amelyek az alepira.ural.ru weboldalon találhatók.

Szerver nyelvek

Tehát most nézzük meg, hogyan dolgozzák fel a szkripteket egy szerveroldali programozási nyelven. Kezdésként a következő diagramot mutatom be:

Amikor egy felhasználó kér egy oldalt (követ egy hivatkozást, vagy beír egy címet a böngészője címsorába), akkor a hívott oldal először a szerveren kerül feldolgozásra, azaz az oldalhoz tartozó összes szkript lefut. , és csak ezután kerül vissza a látogatóhoz egy egyszerű HTML dokumentum formájában (vagyis a látogató többé nem láthatja a szkriptjének kódját). A szkriptek működése azonban teljes mértékben attól a szervertől függ, amelyen webhelye található, és egy adott nyelv melyik verzióját támogatja a tárhely.

A szerveroldali programozási nyelvek sokféle tevékenységet nyitnak meg a programozó előtt, azonban bármennyire is írják a nyelvet népszerűsítők, hogy nyelvüket nagyon könnyű megtanulni, előzetes tudásterhelés nélkül meglehetősen nehéz elsajátítani. .

Itt érdemes megemlíteni, hogy mi is az az adatbázis-kezelő rendszer, vagy DBMS. Ez tulajdonképpen egy olyan szerver is, amelyen a felhasználó által meghatározott sorrendben különböző szükséges információk tárolódnak, amelyek bármikor előhívhatók. Ez egy olyan könyvtár, amelyben minden anyag szépen fel van rakva a polcokon, és bármikor kivehető. Általában a tárhely vásárlásakor egy adatbázis (DB) kerül kiosztásra, amelyben a felhasználó sok táblát hozhat létre, és sokféle információt tárolhat bennük. Azaz, ha visszatérünk a vendégkönyvvel kapcsolatos példához, akkor bármelyik létrehozott táblázatban tárolhatja a felhasználók által hagyott üzeneteket. Természetesen tárolhatja őket egy szöveges fájlban, de ez kevésbé megbízható, és emellett csak egy kis példát mondtam, és ha mondjuk jelszavakat kell tárolni (és titkosított formában kell tárolni) , vagy linkeljen több táblát amikor Bármilyen adat elérésekor nem nélkülözheti adatbázist.

Jelenleg a DBMS-ek váltak ismertté, és jó okkal, amelyek a Structured Query Language (SQL) vagy egy strukturált lekérdezési nyelv használatával érhetők el. Ezekkel az adatbázisokkal való munkához (bővítés, frissítés, lekérdezések stb.) pontosan ezt az SQL-t kell ismernie. Az ilyen DBMS-ek közül a leghíresebb a MySQL (www.mysql.com), de a magam számára a PostgreSQL-t (www.postgresql.org) preferáltam.

Néhány utolsó szó

Ha továbbra is a programozási nyelvekről beszélünk, akkor most vannak olyan nyelvek, amelyek magába a dokumentumba vannak beépítve, és azok a programok, amelyekben először le kell fordítania, vagyis a megírt forráskódokat kész programmá kell alakítania; utóbbi hátránya, hogy ha frissíteni kell a szkriptet, akkor újra kell fordítani a frissített kódokat.

A szerver programozási nyelvek közül kiemelkedik a PHP (PHP: Hypertext Preprocessor) (www.php.net), a Perl (www.perl.com), az SSI (Server Side Include). Ezeknek a szkripteknek a teszteléséhez többre lesz szükség: szerverre (www.apache.org), nyelvi tolmácsra (a gyártó honlapján beszerezhető), és természetesen a produktív munkához egy DBMS-re is.

Mit? Milyen más szerver programozás? Miféle baj ez? És miért van rá szükségünk?

Úgy tűnik, megtanultuk, hogyan készítsünk weboldalakat a Dreamweaver környezetben. Még azt is megtanultuk, hogyan hozhatunk létre teljes webhelyeket a segítségével, és hogyan tegyük közzé őket egy webszerveren. Kétféle oldaltervezést tanulmányoztunk: keretalapú, amikor a webhelyek keretkészletek alapján épülnek fel, és táblázatos, amikor az oldal tartalma egy nagy, összetett táblázatba kerül. Megismertük a stíluslapokat, a metacímkéket és a szerveroldali direktívákat. Végül pedig megismertük a webes programozást és a webes szkripteket, amelyek lehetővé teszik, hogy „életet” adjunk statikus oldalainkhoz. Mi kell még a boldogsághoz?

Igen, a korábban tanultak bőven elegendőek ahhoz, hogy egészen tisztességes weboldalakat hozzunk létre. Sok webtervező megáll itt. De többet akarunk, nem?

Tehát tegyük meg a következő lépést – térjünk át a szerveren lévő fájlokban tárolt oldalakról a speciális programok által generált oldalakra. A szerverprogramozás pontosan az ilyen programok írásával foglalkozik.

De vegyük sorba a dolgokat. És kezdjük azzal, hogy megtudjuk, miért van szükség ezekre a szerverprogramokra.

Mi a szerver programozás

Tényleg, mi az, és mivel eszik?

Miért van szükségünk szerver programokra?

Járt már valaha webáruházban? Például a legnépszerűbb "Ózon" (http://www.ozon.ru). Emlékszel, hogyan rendelhetsz ott árut?

Ha nem emlékszik, vagy nem is tudja, mi az a webáruház, emlékezzünk (vagy tájékozódjunk).

Egy olyan weboldalra lép, amely leírja a szükséges terméket. Sok lelkiismeretfurdalás után végül úgy dönt, hogy vásárol, és rákattint a gombra Megvesz. Ezt követően több weboldal jelenik meg, ahol beállíthatja a címét, a fizetési módokat és az áruk kiszállítását, és végül megerősítheti a vásárlást. Mindezt úgy teheti meg, hogy a megfelelő gombokra kattint és adatokat ír be a közvetlenül az oldalakon található megfelelő beviteli mezőkbe.

Mi történik, ha ez megtörténik? Hogyan történik a megadott adatok feldolgozása? Valóban maga a webböngésző?

Egyáltalán nem. Ezeket az adatokat a webszerver dolgozza fel.

Egy webáruház csak egy a példák közül, ami a szerzőnek eszébe jutott, aki a fent említett „Ózon” rajongója és rendszeres vásárlója. Ugyanígy működnek a webalapú e-mail szerverek, keresőmotorok, elektronikus hirdetőtáblák, fórumok és általában minden olyan webhely, amely valamilyen adatot kap a látogatótól, és feldolgozza azokat. A webböngésző mindezen esetekben adatokat kap a látogatótól és elküldi a webszervernek, amely feldolgozza azokat, és a feldolgozás eredményét automatikusan generált weblap formájában állítja elő.

Hogyan történik ez valójában? Most megtudjuk. És mindenekelőtt válaszoljunk a kérdésre...

Mint egy webszerver feldolgozza a felhasználói adatokat

Tehát hogyan dolgozza fel egy webkiszolgáló program a felhasználó által neki küldött adatokat?

Semmiképpen. A webszerver nincs felszerelve ezek feldolgozására. Feladata, hogy egy webböngészőből fájlkérést fogadjon (weboldalak, stíluslapok, grafikai képek, filmek, hangok, archívumok, futtatható fájlok stb.), ugyanezeket a fájlokat keresse meg a szerver számítógép merevlemezein és küldje vissza a talált fájlokat a webböngészőbe. Ez a fő feladata. Természetesen egyes különösen nagy teljesítményű szerverek további műveleteket hajthatnak végre az elküldött fájlokon, mielőtt ténylegesen elküldenék őket (különösen a szerver direktívák végrehajtása). Vannak olyan „több gazdagépes” programok is, amelyek nemcsak a webszerver, hanem az FTP-szerver, a levelezés, a UseNet-hírek és az isten tudja, mi más funkcióit is ellátják. De a fő funkció: egyszerű fájlok kiadása az ügyfél igényei szerint - és semmi több.

A titok az, hogy a látogatói adatokat nem maga a webszerver dolgozza fel. Ehhez speciális programokat használnak, amelyek együtt működnek a webszerverrel ugyanazon a szerver számítógépen. Úgy hívják szerver programok, nem rendelkezik felhasználói felülettel és csak a webszerverrel „kommunikál”, onnan fogadja a felhasználó által bevitt adatokat, és az eredményt visszaküldi neki. Így alapvetően különböznek a felhasználóval közvetlenül együttműködő kliensprogramoktól. (Az ügyfélprogramok közé tartozik, de nem kizárólag, kedvenc webböngészője.)

Ebből következik, hogy a webszerver továbbra is képes adatokat fogadni a felhasználótól. Igen, ez a fő feladat része: az adatok elfogadása és átirányítása a szerverprogramhoz. A szerverprogram viszont feldolgozza őket, és visszaküldi az eredményt a webszervernek.

Itt kezdődik a móka. Az a helyzet, hogy a szerverprogram által a webszervernek visszaadott eredmény nem más, mint egy közönséges HTML kód! Valójában a szerver program egy kész weboldalt ad vissza, amelyet a látogató által megadott adatok alapján generálnak. Ezt az oldalt hívják dinamikus, nem úgy mint statikus webdesigner által írt oldalak, amelyeket a szerver számítógép lemezein tárolnak. A webszerver pedig ezt a dinamikus oldalt küldi el a kliensnek válaszként a beírt adatokra.

A szerverprogramok a következő négy típusra oszthatók.

  1. Az interfészen keresztül futó végrehajtható programok CGI(Common Gateway Interface - közös csereinterfész), az ún CGI programok. Ez a fajta szerverszoftver a legrégebbi, de semmiképpen sem elavult.
  2. Webszerver-bővítmények(ISAPI, NSAPI formátumú alkalmazások, Apache bővítőmodulok stb.). Egy új módszer, amely lehetővé teszi a szerverprogramok beágyazását magába a webszerverbe, így azok szerves részévé válnak. Először a Microsoft javasolta a Microsoft Internet Information Server (ISAPI interfész) számára, valamint a népszerű ingyenes Apache webszerver fejlesztői.
  3. Aktív szerver oldalak(ASP, JSP stb.). Valójában ezek fájlokban elmentett közönséges statikus weblapok, amelyek a szokásos HTML kódon kívül magukban a webszerver vagy annak kiterjesztése által feldolgozott parancsokat is tartalmaznak. Szintén egy új módszer, amelyet először a Microsoft javasolt ugyanahhoz az Internet Information Serverhez.
  4. Szerver szkriptek,értelmezett nyelven írva (Perl, Python, VBScript, JavaScript stb.). A szerver oldalon CGI vagy ISAPI felületen keresztül futó gyakori szkriptek.

Most nézzük meg részletesebben ezt a sokféleséget.

A CGI programok közönséges futtatható fájlok, amelyeket bármilyen programozási nyelven írtak és szoftverekké fordítanak.processzor busz kódja. Nem rendelkeznek felhasználói felülettel (mint minden szerver program), hanem egy webszerverrel dolgoznak, onnan fogadják a bemeneti adatokat, és elküldik neki a munkájuk eredményét. Ezeket maga a webszerver indítja el, amikor szükség van rájuk (amikor a felhasználótól kapott adatok feldolgozására van szükség), és a szerver számítógép operációs rendszerének irányítása alatt működnek. Sőt, ha a webszerver egyidejűleg több adatfeldolgozási kérést kap a felhasználóktól, elindítja a megfelelő számú CGI-program másolatát.

A CGI programok előnyei közé tartozik a könnyű létrehozás (sok programfejlesztő környezet támogatja az ilyen alkalmazások létrehozását, különösen a népszerű Borland Delphi, a 3-as verziótól kezdve) és a könnyű hibakeresés. Továbbá, mivel a CGI-alkalmazások független programok, külön futnak a webszervertől (ahogy a programozók és a rendszergazdák mondják, más címtérben futnak). Ez azt jelenti, hogy ha egy CGI-program meghibásodik, csak az a program fejeződik be – maga a webszerver a felszínen marad. A CGI-programoknak azonban egyetlen hátrányuk van: a rendszererőforrások nagy fogyasztása, mivel a kiszolgálóprogram külön példánya indul el minden adatkészlet feldolgozására. És ha a webszerver túl sok adatfeldolgozási kérést kap, a kiszolgáló számítógép lefagyhat.

A webszerver-bővítmények egy újabb típusú szerverszoftver. Ezek közönséges DLL-ek, amelyek megvalósítják a kiszolgálóprogram összes logikáját. Az ilyen könyvtárak a webszerver programba vannak beépítve, és annak szerves részeként működnek. Mivel a DLL-ek csak Windows környezetben működnek, más formátumokat találtak ki arra, hogy más operációs rendszereken bővítményeket készítsenek. Az Apache szerverbővítmény moduljai nem DLL-ek,

DLL-ek formájában jön létre a Microsoft Internet Information Server és a Netscape Web Server webkiszolgáló kiterjesztése. Az első esetben a kiterjesztések formátuma ISAPI(Internet Server Application Programming Interface - Internet Server Application Programming Interface), a másodikban pedig - NSAPI(Netscape Server Application Programming Interface – Netscape szerver alkalmazásprogramozási felület). Az Apache bővítménymodulok formátumát Apache moduloknak nevezik.

A webszerver-bővítményeknek van egy előnye: a rendszererőforrások gondos felhasználása. Az a tény, hogy a felhasználói adatok összes készletének feldolgozásához a bővítménynek csak egy példánya indul el, ami lényegesen kevesebb erőforrást igényel, mint sok futó CGI program. A bővítmények létrehozása és hibakeresése azonban nehezebb, és nem is olyan biztonságosak.

Mint a CGI programok. Mivel ezek egy webszerver részeként futnak, a bővítmény bármely hibája a szerver lefagyását okozza.

Mindkét fent leírt szerverprogramnak van egy hatalmas hátránya. Mielőtt működnének, meg kell írni őket egy programozási nyelven, és a processzoron gépi kódba kell fordítani, ami időigényes, különösen hibakereséskor. Természetesen a lefordított programok gyorsabban működnek, mint az értelmezettek, vagyis azok, ahol az egyes utasításokat egy speciális értelmező program olvassa be, dekódolja és feldolgozza. De az értelmezett programoknak is megvannak a maga előnyei, amelyek közül a legfontosabb az egyszerűség és az írás gyorsasága. A következő két kiszolgálóprogram-típust, amelyeket leírunk, értelmezzük.

Mint már említettük, az aktív szerver oldalai olyan szokásos weboldalak, amelyek speciális oldalakat tartalmaznak szerver szkriptek, maga a webszerver vagy egy speciális szerverprogram (CGI-alkalmazás vagy webszerver-bővítmény) hajtja végre. Különösen, ÁSPISKÍGYÓ.(Active Server Pages), amelyet a Microsoft Internet Information Server támogat, és JSP(Java Server Pages – JavaScriptben írt szerveroldalak), amelyeket számos más webszerver is támogat, így működnek. Az ASP szerver oldalai JavaScriptben és VBScriptben, míg a JSP csak JavaScriptben íródnak.

Már ismeri az aktív szerveroldalak előnyeit: az írás egyszerűsége és gyorsasága, valamint a hibakeresés egyszerűsége. Ezen túlmenően, mivel az aktív szerveroldalak csak normál weblapok, amelyekbe kód van beleszórva, bárki könnyen megírhatja őket, aki ismeri a HTML-t. Hátránya: viszonylagos lassúság és megnövekedett rendszererőforrás-igény.

A szerveroldali szkriptek abban hasonlítanak az aktív szerver oldalakra, hogy értelmezve vannak, de "tiszta" programkód, HTML adalékok nélkül Az interpreter szinte mindig CGI program, de semmi akadálya annak, hogy webként fejlessze szerver kiterjesztés A szkripteket általában a Perl programozási nyelven írják, amelyet kifejezetten szövegfeldolgozásra terveztek, és még (ahogy mondják) az MS-DOS parancsfájl nyelvét is használják szkriptek bármilyen programozási nyelven, amelyhez van tolmács.

A szerveroldali szkriptek előnyei és hátrányai ugyanazok, mint az aktív szerver oldalaké. A szkriptek azonban kivételesen nagy mennyiségű rendszererőforrást fogyasztanak, még a CGI-alkalmazásoknál is többet. Végül is az egyes felhasználói adatok feldolgozásához elindítják az értelmező saját példányát, és az értelmező viszont sok erőforrást költ a szkript feldolgozására. Ennek ellenére a szkriptek a legnépszerűbb módja a szerverprogramok létrehozásának.

táblázatban 15.1 mutatja a kiszolgálóprogramok fájlkiterjesztéseit.

15.1. táblázat. Szerverprogram fájlkiterjesztései

Szerverprogramok típusa

Alfaj

Kiterjesztés

CGI programok

-

alkalmazás

Webszerver-bővítmények

ISAPI és NSAPI Apache modulok

dll Nincs kiterjesztés

Aktív szerver oldalak

Szerver szkriptek

ASP JSP

asp jsp

Nyelv Perl JavaScript VBScript Más nyelvek

pl, cgi js, cgi vbs, cgi cgi

Tehát megvizsgáltuk, hogy a webszerver hogyan dolgozza fel (vagy inkább nem dolgozza fel) a felhasználói adatokat. Most menjünk a lánc elejére, és nézzük meg, hogyan küldi el a webböngésző a felhasználói adatokat a szerverprogramnak.

Hogyan küldi el a webböngésző a megadott adatokat

A fejezet elején beszéltünk arról, hogy magukon a weboldalakon elhelyezett vezérlőket hogyan használják a látogatói adatok gyűjtésére. Ezek a Windows alkalmazásokból ismert szokásos vezérlők: beviteli mezők, gombok, listák, jelölőnégyzetek stb. A webhely látogatója beírja az adatokat, és megnyom egy speciális gombot, amely elindítja az adatok elküldését a webszervernek, és így a szerverprogramnak. .

A látogatói adatok bevitelére szolgáló vezérlők az űrlapon vannak elhelyezve. Űrlap - Ez az oldal egy speciális eleme, amely valójában kódolja az adatokat, és elküldi a webszervernek. (Mondhatjuk, hogy az űrlap a vezérlők szülője.) Maguk a vezérlők csak adatokat kapnak a látogatótól, de nem kódolnak és nem továbbítanak.

Az űrlapon minden vezérlőelemnek egyedi névvel kell rendelkeznie. Ezeket a neveket használja a webböngésző az űrlapba bevitt adatok kiszolgáló által olvasható módon történő megjelenítésére.

Például:

Itt azt az ideális esetet vettük figyelembe, amikor az egyes vezérlők értékei csak annyit tartalmaznak -vel érvényes a HTTP protokoll szempontjából szimbólumok: a latin ábécé betűi, számok, kötőjelek, aláhúzásjelek és néhány egyéb karakter. (Ne feledje, a HTTP egy webszerver által használt fájlátviteli protokoll.) Ha illegális karaktereket, például szóközöket vagy az orosz ábécé betűit tartalmazó adatokat visz át, minden ilyen karakter hexadecimális kódként jelenik meg, amelyet egy százalék előz meg. jel, például így (a kódolt szóköz karakterek félkövérrel vannak szedve):

Ennek az adatformátumnak köszönhetően az azt feldolgozó szerverprogramok írása nagyon egyszerűvé válik. Különösen a Perl rendelkezik beépített visszafejtési lehetőséggel ehhez a formátumhoz.

A fenti formában bemutatott adatok ezt követően kódolásra kerülnek az előre meghatározottak valamelyikével kódolási módszerekés az interneten keresztül elküldik a szerverprogramnak. Mindezt valójában az űrlap (de nem a vezérlők) teszi.

Az adatküldés folyamata azután kezdődik, hogy a felhasználó megnyom egy speciális gombot. Ezt a gombot hívják Küld(Beküldés - angol nyelvű programokban), és jelen kell lennie az űrlapon. Az űrlap tartalmazhat egy gombot is Visszaállítás(Reset), amely visszaállítja a felhasználó által megadott adatokat. Ezek a gombok általában az űrlap alján találhatók.

Az űrlapot úgy képzelheti el, mint egy szokásos Windows-alkalmazás párbeszédpanelt, amely elfogadja a felhasználó bevitelét, meghatározott módon kódolja, és elküldi a főablakba. (A Windows-alkalmazások párbeszédablakában is szükségszerűen van két gomb: rendbenÉs Megszünteti(Mégse).) De ha egy normál Windows alkalmazás esetén a programozónak kifejezetten meg kell adnia az adatok titkosításának és elküldésének módját, webes űrlap esetén erre nincs szükség. Csak három kötelező paramétert kell megadnia:

  • Az űrlapadatokat feldolgozó szerverprogram internetcíme;
  • kódolási módszer az elküldött adatokhoz;
  • az adatok küldésének két módja közül az egyik.

Az adatküldés módszereiről egy kicsit később fogunk beszélni. Most tudjunk meg mindent a másik két kötelező űrlapparaméterről.

A kiszolgálóprogramok internetcíme nagyon hasonlít bármely más fájl, például egy weboldal internetcímére. Nézze meg magát – így fog kinézni a CGI program címe:

http://www. valamilyen webhely. ru/bin/program.exe Ez a webszerver-bővítmény címe: http: //www.somesite.ru/bin/extension.dll Ez az aktív kiszolgáló oldalának címe:

http://www. valamilyen webhely. ru/asps/active_page. áspiskígyó

És ez a Perlben írt script program címe:

http://www. valamilyen webhely. ru/scripts/perl_script.pl

Amint látja, ebben nincs semmi bonyolult. A szerverprogram egy közönséges fájl, amelyet a szerver számítógép merevlemezére helyeznek, és a rá mutató hivatkozás sem jelent semmi különöset.

Az interneten továbbított adatok kódolására általában a három legnépszerűbb módszert használják: application/x-www-form-urlencoded,multipart/form-data és (sokkal ritkábban) szöveg/sima. Lehetőség van más kódolási módszerek használatára is, de az esetek túlnyomó többségében a felsorolt ​​hármat alkalmazzák. Ezenkívül ezt a három kódolási módszert a legtöbb webböngészőprogram támogatja.

jegyzet

Ha még emlékszik, mi az a MIME adattípus, akkor a fent megadott adatkódolási módszerek neveit nézve azonnal látni fogja, hogy ezek csak MIME típusok. Segítségükkel határozzák meg a kódolási módszereket.

Az esetek túlnyomó többségében az application/x-www-form-uriencoded kódolási módszert alkalmazzák. Egyébként ez az, amelyik alapértelmezés szerint használatos, ha a kódolási módszer nincs megadva. A multipart/form-data kódolási módszer akkor használatos, ha fájlokat kíván küldeni egy webszervernek; az erre az esetre megfelelő bináris adatkonverziót biztosítja. Az utolsó módszer - text/plain - egyszerű szövegben jeleníti meg az adatokat, ami akkor lehet hasznos, ha az űrlapadatokat e-mailben küldik el (néha ezt az adatátviteli módot is használják).

Tehát megoldottuk az adatkódolást. Meg kell nézni, hogyan továbbítják ezeket az adatokat a hálózati csatornákon.

Hogyan történik az adatok átvitele az interneten

Mint már tudja, az adatok interneten, sőt bármely helyi vagy globális számítógépes hálózaton keresztüli küldéséhez egy speciális szabályrendszert használnak, ún. jegyzőkönyv. A protokoll meghatározza, hogy az adatok hogyan lesznek titkosítva és csomagolva a hálózaton keresztül történő későbbi továbbításhoz. Természetesen mind a küldő, mind a fogadó programnak ugyanazt a protokollt kell támogatnia, hogy „megértsék” egymást. (Egyébként ún. inkompatibilitás lép fel az adatátviteli protokollal, ami nagyon kellemetlen.) Valójában az Internet protokollokról már beszéltünk, és nincs értelme megismételni őket.

Azt is tudja, hogy a HTTP-protokoll segítségével weboldalakat és kapcsolódó fájlokat (grafikák, hangok, archívumok stb.) küldenek az interneten keresztül. Adatátvitelre is használják, erre pedig kettő átviteli mód adat. Mindkét módszert széles körben használják az internetes programozásban, és megvannak a maga előnyei és hátrányai. Nézzük meg őket.

Az első módszer az ún KAP a megfelelő űrlapparaméter értékével. Használatakor az adatok az internetcím részeként kerülnek továbbításra egy HTTP-kérésben.

Emlékezet szerint egy webböngésző, hogy megkapja a számára szükséges fájlt egy webszervertől, egy úgynevezett HTTP kérést küld ennek a szervernek, amely tartalmazza a kívánt fájl internetcímét. Tehát az adatok e cím részeként továbbíthatók.

Vegyük például a fent látható adatkészletet:

név1 = Ivan vezetéknév = Ivanovics név2 = Ivanov életkor = 30

Most készítsük elő a GET metódussal történő küldésre (maga az adat félkövérrel van szedve):

http://www.somesite.ru/bin/program.exe? name1=Ivan&surname2=Ivanovich&name2=Ivanov&age=30

Mint látható, a GET módszerrel küldött adatok az internetcím legvégére kerülnek, és kérdőjel választja el attól. Ebben az esetben a „név” = „érték” párokat a „kereskedelmi és” jel („&”) választja el egymástól. Minden nagyon egyszerű és világos.

Az adatok bemutatásának ez az egyszerűsége és egyértelműsége a GET módszer fő előnye. Ahogy mondják, minden jól látható. A weblapok hibakeresése is nagymértékben leegyszerűsödik: mivel a webszervernek átadott cím megjelenik a webböngésző címsorában, mindig láthatja, hogy pontosan mit adtak át. (Ahogyan azonban Ön is tudja, ezzel a módszerrel bizalmas adatokat nem lehet továbbítani – mindenki látja, aki a háta mögött áll.)

http://www.mysite.ru/bin/choose.exe?chapter=3

Mint látható, ezek valójában a szerverprogramra mutató hivatkozások, amelyek egy fejezetparamétert és annak értékét tartalmazzák. Ez azt jelenti, hogy egy ilyen oldal összes többi oldalát dinamikusan alakítja ki a szerverprogram, a kapott paraméterek alapján. Ezen elv alapján gyakran címtároldalakat, programkatalógus-oldalakat, elektronikus áruházakat és egyéb, nagy mennyiségű minősített információt tartalmazó oldalakat építenek.

Sajnos a GET módszernek van egy hatalmas hátránya: nem tud nagy mennyiségű adatot továbbítani. Ennek oka az internetcímek hosszára vonatkozó szabványok által előírt korlátozás: legfeljebb 256 karakter. Vonja le innen a szerverprogram tényleges címének hosszát - és megkapja az adatok maximálisan megengedett méretét. A GET módszer második hátránya az előnyeinek másik oldala. Az általa küldött adatok nyilvánosan láthatók, és könnyen olvashatók a webböngésző címsorában.

A GET módszert akkor érdemes használni, ha a szerverprogramnak küldött adatok nyilvánvalóan kicsik és nem titkosak. Különösen arra használják, hogy kulcsszavakat küldjenek a keresőmotoroknak egy szerverprogram alapján épített webhelyeken (lásd fent) stb. Ha terjedelmes vagy bizalmas adatokat kell küldenie, használja a második átviteli módot, az úgynevezett POST-t.

Módszer POST ugyanabban a HTTP kérésben továbbítja az adatokat a szerverprogramnak, de nem az internetcím részeként, hanem úgynevezett kiegészítő adatok formájában. Mivel a további adatok mérete nincs korlátozva (legalábbis nagyon nagy lehet), bármit átvihet, amit csak akar, bármilyen mennyiségben. Különösen még fájlok is átvihetők ilyen módon a webszerverre.

A POST módszer előnyei: az átvitt adatok mennyisége és „láthatatlansága” nincs korlátozva. Hátrányok: nehézségek az adatok visszafejtésében és a hibakeresés nehézségei. A POST módszert például személyes adatok, az elektronikus áruházakban lévő vásárlók címei, irodalmi művek továbbítására használjákhozzáférés a webhelyekhez http://www.stihi.ru és http://www.proza.ru stb. Általában olyasvalami, aminek nagy mennyisége van.

Mint mondják, a WWWC bizottságnak szándékában áll végül teljesen felhagyni a GET módszerrel, és minden adatot a POST módszerrel továbbítani. A GET metódust eddig egyszerűen nem ajánlották az újonnan létrehozott oldalakon való használatra, de a valóságban a webböngészők továbbra is támogatják.

Így mindent megtudtunk a szerverprogramokról. Nos, lehet, hogy nem mindet, de nekünk ez most elég. Most pedig beszéljünk arról, hogy mindezt mennyire támogatja a Dreamweaver MX.

Szerveroldali programozás – a Dreamweaver megközelítés

Nehéz szerverprogramokat írni? Igen, nehéz. Valószínűleg még nehezebb, mint a weboldalak.

Emlékszel azonban, milyen gyakran kellett HTML kódot kézzel írnunk? Elég ritka, nem? És mindez azért, mert a Dreamweaver gondosan megóvott minket ettől, kényelmes felületet biztosítva az oldalak vizuális létrehozásához. Egyszerűen szöveget írtunk, formáztunk, képeket, táblázatokat helyeztünk el az oldalon, viselkedést alkalmaztunk az oldalelemekre stb. Egyszóval jól éreztük magunkat.

És most tényleg kézzel kell majd szerverprogramokat írnunk?! Nem, egyáltalán nem szükséges.

Már említettük, hogy a Dreamweaver úgynevezett viselkedési módokat biztosít a tapasztalatlan felhasználóknak és általában azoknak, akik nem akarnak JavaScript-kóddal foglalkozni. Viselkedés- ez egy kész szkript, amelyet professzionális programozók írtak, és maga a Dreamweaver helyezte el a weboldal kódjába, miután a felhasználó kiválasztja ezt a viselkedést a panel viselkedési menüjében Viselkedések. A felhasználónak nem kell aggódnia amiatt, hogy az oldal kódjának egy bizonyos helyére elhelyez egy olyan szkriptet, amely ezt vagy azt a műveletet hajtja végre, nem kell ellenőriznie a szkriptet a hibákért, és nem kell összehangolnia más szkriptekkel. A Dreamweaver mindezt megteszi helyette.

Valójában a szerverprogramozásban használt műveletek halmaza nagyon kicsi. Nyissa meg az adatbázist, szerezzen be belőle néhány adatot, jelenítse meg az oldalon, írjon új adatokat - mi kell még!

Természetesen, ha valami divatos dolgokat szeretne csinálni, kézről kézre kell írnia a szerver oldalait. De látod, ez nem gyakran fordul elő.

Így két dolgot tudtunk meg. Először is, a Dreamweaver MX támogatja a szerveroldali weboldalak létrehozását. Másodszor, az Ön által ismert viselkedésmódokat használja a szkriptek beillesztéséhez. A Dreamweaver viselkedési módok széles skáláját kínálja a szerveroldali forgatókönyvekhez, amelyek elegendőek az induláshoz.

Azt még látni kell, hogy a Dreamweaver mely szerveroldalak létrehozását teszi lehetővé. Pontosabban, milyen szerveroldalak létrehozására szolgáló technológiákat tesz lehetővé. Négy ilyen technológia létezik, és ezek most felsorolásra kerülnek.

  1. ÁSPISKÍGYÓ. Ez a technológia már ismerős számodra.
  2. ASP.NET. Az ASP továbbfejlesztése.
  3. PHP. Ingyenes technológia nyílt forráskódú szövegekkel terjesztve. Meglehetősen népszerű, és gyakran használják ingyenes webszerverekkel, mint például az Apache.
  4. Macromedia ColdFusion. A Macromedia saját fejlesztése.

Melyiket érdemes választani? Végül is példákat kell készítenünk weboldalakra.

Válasszuk az ASP-t. És ezért.

A szerveroldali oldalak használatához szükségünk van egy webszerverre. Enélkül a szerveroldalak egyszerűen nem működnek. És talán tudja, hogy a Windows többé-kevésbé új verzióihoz tartozik egy kis webszerver. Windows 95/98/ME rendszereken ez a Personal Web Server, Windows NT/2000/XP rendszeren pedig az Internet Information Server. A képességei bőven elegendőek ahhoz, hogy kísérletezzünk a szerverprogramozással.

Tehát ez a webszerver teljes mértékben támogatja az ASP technológiát. Aktív szerveroldalakat írhat, és alatta végrehajthatja azokat. És nem kell további összetevőket letöltenie – minden, amire szüksége van, már benne van a Windows disztribúciós készletében. Ezért esett a választás az ASP-re.

Jelenleg szinte egyetlen webszerver sem támogatja az ASP.NET technológiát; A Microsoft még nem adott ki egyetlen olyan terméket sem, amely támogatja ezt a technológiát. A PHP-oldalak használatához meg kell keresnie és le kell töltenie az internetről egy meglehetősen nagy, PHP-kezelőt tartalmazó disztribúciós készletet, majd sok időt kell töltenie a beállításával. Ami a ColdFusion technológiát illeti, nem valószínű, hogy több ezer dollárt tudna kifizetni érte. Így gyakorlatilag nincs lehetőségünk.

Bevezetés az adatbázisokba

Az utolsó dolog, amit ebben a fejezetben megvizsgálunk, az adatbázisok és a velük való munka. Mivel a szerverprogramok oroszlánrésze adatbázisokkal dolgozik, ez a tudás nagyon hasznos lesz számunkra. Természetesen nem fogunk részletesen megvizsgálni minden adatbázis-technológiát, de mint korábban, most is egy rövid oktatási programra korlátozzuk magunkat. Ön maga is megkeresheti a szükséges könyveket és szövegeket az interneten, ha ez érdekli.

Mi történt adatbázis? Semmi különös, csak egy normál fájl vagy fájlcsoport, amely különleges módon rendezett adatokat tartalmaz. Ha egy adatbázis sok fájlból áll, akkor is egyetlen entitás marad. Az adatbázisban található adatok feldolgozása egy speciális, ún adatbázis-feldolgozó. Az adatbázis-feldolgozó lehet egy teljesen különálló program, amely ugyanazon a számítógépen fut, mint az adatokat használó program, vagy annak része is lehet.

Az adatbázisok különböző módon szervezhetők. De a manapság használt adatbázisok túlnyomó többsége ilyen relációs. Az ilyen adatbázisokban az adatok táblázatokba vannak rendezve. Minden ilyen adatbázis tartalmazhat egy vagy több táblát; Az összetett adatbázisok általában sok táblát kapcsolnak össze.

Minden táblázat cellákra osztott sorok halmazából áll, és minden cella bizonyos típusú adatokat tartalmaz: szöveget, számokat, logikai értékeket, dátumokat stb. Az adatbázistáblák sorait ún. rekordok,és a cellák, amelyekre az egyes rekordok fel vannak osztva mezőket. Mint már említettük, minden mezőnek meghatározott típusa van, és szükségszerűen fel van szerelve név, amelyen keresztül az adatokkal dolgozó program hozzáfér ehhez a mezőhöz.

ábrán. A 15.1. példa egy ilyen táblázatot mutat be. Amint látja, ennek a táblázatnak három mezője van:

  • NÉV - a szerver oldalak létrehozására szolgáló technológia neve, szöveg;
  • PRICE - a kezelőprogram ára, numerikus;
  • HASZNÁLAT – hogy ez a technológia jelenleg támogatott-e, logikus ("igen-nem").

Ezenkívül ez a táblázat négy bejegyzést tartalmaz a Dreamweaver MX által támogatott technológiáknak megfelelően: ASP, ASP.NET, PHP és ColdFusion.

Nagyon gyakran az egyik táblázatmező kitöltött kulcs. A kulcsmező értéke a rekord egyedi azonosítására szolgál. Természetesen ebben az esetben az összes táblarekord kulcsmezőinek egyedi értékeket kell tartalmazniuk. Néha a kulcsmezőt hívják számlálómező.

Példa egy adatbázisban szereplő táblázatra

Már tudja, hogyan lehet hozzáférni egy adott mezőhöz – a nevével. Hogyan férhetek hozzá a szükséges rekordhoz?

A helyzet az, hogy egy adatbázisadatokat használó program egyszerre csak egy rekorddal, ún jelenlegi. Adatokat tud lekérni a rekord mezőiből, és esetleg módosítani tudja azokat. De egy másik rekord adatainak beszerzéséhez a programnak egy mozgatás parancsot kell kiadnia. Ebben az esetben az adatbázis-feldolgozó egy speciális aktuális rekord mutató a kívánt rekordra, és a program képes dolgozni vele.

A program is használhatja keresés a kívánt rekordot bármely kritérium szerint. Nagyon gyakran egy ilyen keresést egy kulcsmező értékével hajtanak végre.

A programban lehetőség van újak hozzáadására és szükségtelen táblabejegyzések törlésére is. Új rekord hozzáadásához a program végrehajtja a rekord hozzáadása parancsot, és beírja a szükséges adatokat a mezőibe. Egy bejegyzés törléséhez a programnak először aktualizálnia kell, majd ki kell adnia a törlési parancsot.

Az adatbázisban található adatokkal való munkavégzés sorrendje általában így néz ki:

  1. Program megnyílik adatbázist egy nyitott művelet végrehajtásával. Ez egy szükséges művelet, amely nélkül lehetetlen hozzáférni az adatbázishoz.
  2. A program megnyitja a kívánt adatbázistáblát. Ezt követően a processzor visszaadja neki az ún rekordkészlet(angolul -- recordset), amellyel a program működik.
  3. A program elvégzi a tényleges munkát az adatokkal.
  4. Program bezár táblázatot, amely után a processzor eltávolítja a memóriából az ennek a programnak megfelelő rekordkészletet.
  5. A program bezárja az adatbázist, megszakítva vele minden kapcsolatot.

Felhívjuk figyelmét, hogy az utolsó két művelet - a tábla és az adatbázis bezárása - ugyanolyan szükséges, mint azok megnyitása. A tény az, hogy a processzor által a memóriában generált rekordok és egyéb adatstruktúrák egy adatokkal dolgozó program számára sok rendszererőforrást foglalnak el. Ezért, ha végzett egy táblával vagy adatbázissal, azonnal zárja be, hogy erőforrásokat szabadítson fel a többi felhasználó számára.

Az utóbbi időben nagy népszerűségre tettek szert adatbázis szerverek. Ezek közönséges adatfeldolgozók, de szerverprogramok formájában valósulnak meg és kiszolgáló számítógépeken futnak. Előnyeik a hagyományos adatfeldolgozókkal szemben:

  • szerver számítógépen futnak, amely általában erősebb, mint az ügyfélszámítógép, így nagyobb a teljesítményük;
  • nagyobb adatbiztonságot nyújtanak a hozzáférés-szabályozás és néhány egyéb mechanizmus révén;
  • egyszerűen erősebbek, abban az értelemben, hogy több, a közelmúltban megjelent újítást támogatnak.

Az adatbázis-kiszolgálóhoz és magához az adatokhoz való hozzáféréshez a kliensprogram speciális parancsokat küld neki. Az ilyen parancsok összeállításához egy lekérdezési nyelvet fejlesztettek ki SQL(Strukturált lekérdezési nyelv – strukturált lekérdező nyelv). Az ezen a nyelven írt parancsok segítségével a kliensprogram megnyithatja a kívánt táblát, beolvassa az adatokat, hozzáadhat, módosíthat, törölhet egy rekordot, és végül bezárhatja az adatbázist, amikor már nincs rá szükség.

Az adatbázis-kiszolgálókat ma már nagyon gyakran használják, a webes programozásban pedig szinte mindenhol. A legnépszerűbbek az Oracle, a Microsoft SQL Server, a Sybase, a nagy teljesítményű IBM DB2, a Borland InterBase (Oroszországban IBase néven forgalmazzák), az egyre népszerűbb PostgressSQL és az ingyenes, nyílt forráskódú MySQL szerver. Ez utóbbi szervert egyébként nagyon gyakran az Apache webszerverrel és PHP szerver oldaltechnológiával együtt használják.

Ezzel véget is ért az adatbázisokról és a szerverprogramozásról szóló történet.

Már volt szó arról, hogy a weblapok speciális elemei - űrlapok - küldenek adatokat a szerverprogramnak. A következő fejezetben az űrlapokról és a Dreamweaverben való munkáról fogunk beszélni. És akkor rátérünk magára a szerverprogramozásra.

Tegyük fel, hogy készített egy egyszerű HTML webhelyet, és szeretné tudni a látogatók véleményét a közzétett tartalomról. Mi kell ehhez? - így van: adjon lehetőséget a látogatóknak, hogy megírják észrevételeiket. Ez nem érhető el HTML vagy CSS használatával. És itt jönnek a segítségre a webes programozási nyelvekkel létrehozott programok (más néven szkriptek).

Kiderül: webes programozás nevezhetjük speciális programok létrehozásának az interneten való felhasználásukra. Jó néhány programozási nyelv létezik: C++, Perl, Java, Php, JavaScript, Python, Visual Basic és mások.

Bonyolultság programozási nyelvek különböző. Minél összetettebb egy programozási nyelv, annál több képességgel rendelkezik. A bonyolultabb webalkalmazások bonyolultabb nyelveken készülnek. Minden programozási nyelv két táborra osztható: szerverre és kliensre.

Beszéljünk egy kicsit a kifejezésekről. Az interneten található összes információ távoli számítógépeken, úgynevezett szervereken tárolódik. A másik oldal a hálózati felhasználók, akik a számukra szükséges információkat keresik, általában klienseknek nevezik őket.

Kliens programozási nyelvek

Ezek közül a leggyakoribb a JavaScript és a Visual Basic. Az ilyen nyelvek sajátossága a nevükben rejlik. Beírt programok kliens programozási nyelvek feldolgozása a kliens számítógépen történik. Egyszerűen fogalmazva, a szkripteket a számítógép böngészője dolgozza fel. Előnyeik és hátrányaik ebből a tulajdonságból következnek.

A legnagyobb előnye, hogy nem kell a webdokumentumot a szerverre küldeni feldolgozásra. Ez a funkció jelentősen megnöveli a szkript olvasási sebességét. A forgalom csökken, ami pénzt takarít meg és csökkenti a szerver terhelését. Nincs szükség további szoftverek telepítésére a szkriptek feldolgozásához, mert böngészők dolgozzák fel őket.

Hibák kliens programozási nyelvek jellemzőiből is következik. A különböző böngészők egyéni preferenciáik alapján értelmezhetik a szkripteket. Ezért ugyanazon dokumentumok megjelenítésének eredménye eltérő lehet. Bár az utóbbi időben a különféle böngészők munkája egyre egységesebbé vált. Egy másik hátrány az ilyen nyelvek kódjának nyitottsága a felhasználók számára.

Szerver programozási nyelvek

Szerver programozási nyelvek illetve a szerver oldalon dolgoznak. Az adatbázisokkal való interakció során kommunikációt tartanak fenn a felhasználó és a szerver között. Webdokumentum címmel rendelkező kérés fogadása böngészőből a szerverprogramok kapcsolatba lépnek az adatbázissal. Az adatbázis a weblapról információt ad a szerver szkriptjeinek, melyek feldolgozása után értelmezésre elküldik a kliens böngészőnek, amely a közös munka eredményét megjeleníti a monitoron.

Az ilyen munka egyszerűsített diagramja az ábrán látható.