Web Server
A web szerver egy olyan számítógépes program, amelyik folyamatosan olvassa a számítógép felé a más számítógépek irányából érkezők web kéréseket.
A web kérés mindig azonosít egy web alkalmazást a web szerver környezetében. A szerver a kérést elemzi, és továbbítja a web alkalmazás felé. Megvárja, míg az generálja a választ (általában egy web lapot). A szerver a generált választ visszaküldi a kliens felé.
Ha a web kérés egy letölthető fájlt azonosít (kép, hang, statikus html lap), akkor a web szerver a szóban forgó fájlt küldi vissza a kliens felé a hálózaton.
A Microsoft az IIS nevű web szervert mellékeli a Windows XP Professional operációs rendszerhez, de más web szerver is használható. Jellemző még az Apache web szerver használata, mely ingyenes. A Java-s környezetben pedig a TomCat szerver használata a jellemző.
A web-es alkalmazás (WEB application) egy olyan speciális program, amelyet egy web szerver futtat. A felhasználó (kezelő) egy másik számítógépen ül, és onnan aktiválja a program funkcióit egy browser-en keresztül.
A webapp nem kezel billentyűzetet, sem egér eseményeket, mivel a program kezelőjen nem ugyanezen a gépen dolgozik. A feldolgozandó adatokat a web szerver kapja és továbbítja a program felé, aki válaszul adatokat állít elő, melyet egy HTML szabvány szerint felépített weblap-ba írja bele. A web szerver ezen HTML lapot visszaküldi a kliens browserébe, hogy az meg tudja jeleníteni.
HTML nyelv
A HTML (angolul: HyperText Markup Language) egy leíró nyelv, melyet web oldalak készítéséhez fejlesztettek ki. Az SGML leegyszerűsített változata, amely ma már internetes szabvánnyá vált, a W3C (World Wide Web Consortium) támogatásával. Az aktuális változata a 4.01 amelyet lassan kiszorít az XHTML.
A HTML nyelv kezdeti formája a svájci CERN fizikai kutatóintézetben jelent meg először. A tudósok használták először, hogy kutatásaikkal kapcsolatos dokumentumokat írjanak le vele maguk, és más tudósok számára.
Statikus HTML lap
Egy statikus HTML lap szövegeket, táblázatokat, linkeket, és képek beszúrási pontjait tartalmazzák (a képek külön fájlban vannak). A HTML lap ezen információk lapon belüli elrendezését, formázásait (stílusát) írja le.
Egy statikus HTML lap minden része ’készen’ van. Egyszerű editorral (pl. jegyzettömb) is elkészíthető, mivel egyébként közönséges text fájl. Ilyen statikus HTML lapokkal írhatunk le olyan információkat, melyek időben nem változnak meg. Amennyiben mégis, úgy bele kell javítanunk a HTML lapba, hogy az új információt beleírhassuk.
Egy ilyen statikus HTML lapra való hivatkozás végén általában a .htm, vagy .html kiterjesztés jelenik meg. A statikus HTML lapok lekérése a szóban forgó fájl letöltését jelenti változatlan formában.
Dinamikus HTML lap
Egy HTML lap szövegeket, táblázatokat, linkeket, és képek beszúrási pontjait tartalmazzák (a képek külön fájlban vannak). A HTML lap ezen információk lapon belüli elrendezését, formázásait (stílusát) írja le.
Egy dinamikus HTML lap valamely program által, annak futása során kerül generálásra. Ennek során általában alapul egy félig-kész HTML lapot vesz a program, és a hiányzó részeit tölti csak ki.
A program a hiányzó részek kitöltéséhez valamilyen számítási folyamatot használ, vagy adatbázisból olvassa ki az adatokat.Egy ilyen dinamikusan generált HTML lap lekérése során a web szerver aktiválja a szóban forgó programot, esetleg paramétereket is ad át neki, majd megvárja, amíg a program a lapot előállítja, és visszaküldi a kliens felé a kész, kitöltött oldalt.
Ilyen HTML lapokat elő lehet állítani számtalan programozási nyelven. Nagyon elterjedt a PhP erre a célra (+Apache web szerver, .php az URL vége), a Java is (+TomCat web szerver, .jsp az URL vége), és a Microsoft.NET (+ IIS web szerver, .aspx az URL vége).
Cookie
A dinamikus weblapok előállításával az a probléma, hogy az előállító program nem minden esetben ’emlékszik’ arra, hogy ugyanazon kliens eddig milyen adatokat küldött felé.
Amennyiben például egy weboldal használatához név és jelszó beírására van szükség, úgy azt gyakorlatilag minden egyes alkalommal el kell küldeni a web alkalmazás felé. Hogy a felhasználónak ne kelljen minden egyes alkalommal ezt újra és újra beírnia, ezért a web alkalmazás felkérheti a kliens böngészőjét, hogy mentse el ezeket az adatokat, és minden egyes alkalommal automatikusan küldje el azt neki.
Ezeket az adatokat a kliens számítógépén ún. cookie-ban (süti) tárolja el a böngésző, és automatikusan küldi azt minden egyes laplekéréskor.
A cookie-ban tárolandó adatokat a web alkalmazás határozza meg. Ilyen cookie-ban lehet tárolni például, hogy egy web áruházban történő vásárlás során milyen termékeket helyeztünk el a bevásárlókosárban.
Session
A dinamikus weblapok előállításával az a probléma, hogy az előállító programnak ugyanazon kliens két lekérése közben adatokat kell tárolni a kliensről, pl. hogy milyen néven és jelszóval jelentkezett be egy korábbi lekérés során, stb.
Ilyen adatok tárolása cookie-kkel is megoldható, de ennek biztonsági problémái vannak (cookie lopás).
A biztonságosabb megoldás a szerver oldalon tárolni ezeket az adatokat. Ez esetben session-kezelésről beszélünk.
Amikor a kliens az első lekérést küldi a web alkalmazás felé, egy ún. session azonosítót (session id) kap. Minden további lekéréskor ezt a session azonosítót kell küldenie a web alkalmazás felé.
A web alkalmazás a session azonosítókkal együtt tárolja az adatokat a szerver oldalon, így minden további nélkül elő tudja keresni egy adott session azonosító ismeretében a tárolt adatokat, tudja azokat módosítani.
Ürlap (form)
A web alkalmazás felé – aki dinamikusan generálja a web oldalt – adatokat kell küldeni. Ezen adatokat ún. web űrlap segítségével lehet kitölteni.
Egy ilyen web űrlapon jellemzően beviteli mezők (pl. felhasználói név), legördülő lista (pl. terméklista), választó gombok, jelölőnégyzetek formájában lehet adatokat beírni.
Minden űrlaphoz (form) tartozik egy beküldés (submit) nyomógomb. Ennek lenyomásakor az űrlapon kitöltött mezők azonosítói, és az adatok elküldésre kerülnek a szerver felé, aki ezeket továbbítja a feldolgozó program felé.
A program az adatokat ellenőrzi, és ha a kitöltés nem volt minden szempontból rendben, akkor esetleg ugyanezt az oldal visszaküldi újbóli kitöltésre, megjelölve benne a hibákat.
Amennyiben a kitöltés rendben volt, úgy feldolgozza az adatokat, esetleg tárolja adatbázisban, vagy session-ban, vagy cookie-ban, és folytatja a munkát a kliensről érkező kéréseknek megfelelően.
Kapcsolódó linkek