A számítógépes hálózatok
WWW (World Wide Web) - Világháló
A világháló az interneten működő, egymással úgynevezett hiperlinkekkel összekötött dokumentumok rendszere. A rendszert webböngésző program segítségével lehet elérni. Ez a program képes megjeleníteni az egyes dokumentumokat, „weblapokat”. A felhasználó a lapokon található hiperlinkek segítségével további lapokat kérhet le, amelyeken újabb hiperlinkek lehetnek. A rendszer „háló”-jellegét is ez adja; a dokumentumok a háló csomópontjai, míg a hiperlinkek a háló szálai, amelyeken keresztül egy vagy több lépésben tetszőleges csomóponthoz eljuthatunk.
A Világháló három szabványra épül:
URL (Uniform Resource Locator - egységes forrásazonosító), leírja, milyen egyedi „címmel” kell rendelkeznie az egyes oldalaknak;
HTTP (HyperText Transfer Protocol - hipertext átviteli protokoll) , megadja, hogyan küld egymásnak információt a böngésző és a kiszolgáló,;
HTML (HyperText Markup Language - hipertext leíró nyelv) az információkódolás eljárása, mellyel az oldal sokféle eszközön megjeleníthetővé válik.
URL (Uniform Resource Locator – Egységes forrásazonosító)
Az egységes forrásazonosító megadja a megjelenítő program számára, hogy az adott szövegrészhez képhez, grafikához kapcsolt dokumentumot milyen módszerrel lehet megjeleníteni, milyen típusú kapcsolatot kell felépíteni, illetve hogy ez a forrás hol, az Internetre kapcsolt gépek közül melyiken található.
A kiszolgáló a HTTP protokollal érhető el, amely a webszolgáltatáshoz az alapértelmezésként szereplő 80-as portot használja.
Az URL a következő információkat tartalmazza:
a protokollt, amelyet az adott forrás eléréséhez használunk. Ezt az URL első tagja adja meg: ilyen protokollok például az FTP, HTTP stb.;
annak a kiszolgálónak az internetnevét (domain név) vagy címét (IP-cím) amelyen az adott forrás található. Ez az információ két perjellel (//) kezdődik és egy (/) zárja le;
a kiszolgáló portjának a számát. Ha ez nem szerepel, akkor a megjelenítő-program az általánosan használt alapértelmezést feltételezi. Ha nem a WWW-hez javasolt 80-as portcímet használják, akkor ezt az URL-ben a kiszolgáló nevéhez vagy címéhez kettősponttal kapcsolva kell megadni;
a forrás helyét a kiszolgáló lemezegységének hierarchikus állományrendszerében (könyvtár/fájlnév).
URL felépítése
Egy adott HTML-kapcsolaton belül az azonos könyvtárban lévő állományok eléréséhez nem kell a teljes keresési útvonalat megadni. Ha egy dokumentumot elértünk a rendszeren, ez már bizonyos információkat szolgáltat a következő kapcsolat felépítéséhez. Így a szomszédos állományok eléréséhez elegendő egy rész-URL alkalmazása, ami az aktuális dokumentumhoz viszonyítva relatív kapcsolódást biztosít. Azonos könyvtárban lévő dokumentumok esetén először a teljes URL-t kell megadni, utána már elég a többi fájlnak csak a nevét beírni.
A WWW szerver konfigurálásakor megadható, hogy melyik legyen az a HTML dokumentum, amelyet a kiszolgáló elküld a felhasználónak. Ez lehet pl. üdvözlés vagy információ a szolgáltatásokról, más URL megadása, tartalomjegyzék, hibaüzenet.
A WWW kiszolgálót futtató gépen a felhasználók a saját könyvtárukban lévő, a rendszer konfigurálásakor definiált speciális nevű alkönyvtárban mindenki számára hozzáférhető, személyes HTML dokumentumokat hozhatnak létre. Ezekre a könyvtárakra való hivatkozás UNIX alapú szerverek esetében pl. a ~ karakterrel kezdődik, és a könyvtári hivatkozás a felhasználó neve. A ~ karakter azt jelzi a kiszolgáló számára, hogy ez nem egy szokásos alkönyvtár, hanem az adott felhasználó alkönyvtárában kell az állományokat keresni. Pl.:
http://webmesterke.hu/~sajat/
A kiszolgáló konfigurálásakor meg kell adni annak az alkönyvtárnak nevét, amelyben a felhasználók létrehozhatják személyes dokumentumaikat. Ez a könyvtárnév a kiszolgáló konfigurációs állományában.
Ugyancsak a rendszer létrehozása során definiálható annak az állománynak a neve, amely a rendszerbe való belépéskor, illetve a saját könyvtárak címzésekor jelenik meg a felhasználók képernyőjén. Ezt a HTML dokumentumot általában index.html vagy index.php névvel látják el.
A HTTP (HyperText Transfer Protocol - hipertext átviteli protokoll)
A WWW kliensek a böngészőprogramok, a tallózók. Képesek a HTML (HyperText Markup Language - hiperszöveg leíró nyelv) direktíváival kiegészített szövegek megjelenítésére, bennük az utalásokhoz rendelt szövegrészek kiemelt kezelésére, a kiemelt szövegek kiválasztására. Képesek bizonyos képdokumentumok megjelenítésére, ezekben kiemelések kiválasztására, hangfájlok, videók lejátszására, közvetlenül, vagy valamilyen segédprogram aktiválásával.
A szerverek pedig képesek szöveg-, kép-, hang- és videofájlokat megkeresni saját fájlrendszerükben, és azokat elküldeni a kliensnek megjelenítésre. A kliens és szerver közötti üzenetváltások szabályai:
Az első lépés a kapcsolatlétesítés (connection): a kliens kezdeményezi, ehhez a legfontosabb információ a szerver azonosítója.
A második lépésben a kliens kérelmet (request) küld a kapcsolaton a szervernek, ebben közli, hogy milyen protokollal, melyik dokumentumot kéri (az átviteli eljárás – a „method” – is paramétere a kérelemnek).
Ezután a szerver megkeresi a kért dokumentumot és válaszol (response): a kapcsolaton leküldi a kért dokumentumot.
Végül a kapcsolat lezárul (close).
Mindezek után a kliens felelőssége, hogy mihez kezd a leküldött dokumentummal: ideiglenesen tárolja a saját memóriájában és/vagy fájlrendszerén; a dokumentum fajtájától függően (pl. szöveges vagy képi információ) megjeleníti azt, esetleg külső lejátszó elindításával (pl. hanganyag esetében), de lehetőséget ad a felhasználónak végleges lementésre (fájl eltöltése esetén) stb.
Kliens és szerver közötti üzenetváltás
Ha olyan dokumentumot kap a böngésző, melyet közvetlenül nem tud megjeleníteni, lejátszani (futtatni), akkor meg kell adni, milyen segédprogramot hívjon meg a megjelenítésre. A felhasználó a MIME-szabványoknak megfelelő lejátszókat beállíthat, rendszerint a böngésző konfigurációs menüjében.
A HTTP ügyfélkiszolgáló protokollt hipertext dokumentumok gyors és hatékony megjelenítésére tervezték. A protokoll állapotmentes, vagyis az ügyfélprogram több kérést is küldhet a kiszolgálónak, amely ezeket a kéréseket egymástól teljesen függetlenül kezeli, és minden dokumentum elküldése után le is zárja a kapcsolatot. Ez az állapotmentesség biztosítja, hogy a kiszolgáló mindenki számára egyformán elérhető és gyors.
HTML (HyperText Markup Language - hipertext leíró nyelv)
A dokumentumok logikai struktúráját a HTML jelölései segítségével lehet szabályozni. A HTML arra készült, hogy segítségével a dokumentumok szokásos, sorban egymás utáni olvasása helyett, a szövegben elhelyezett kapcsolatok alapján az egész dokumentum könnyebben legyen áttekinthető és elolvasható. Segítségével logikusan szervezett és felépített dokumentumokat lehet készíteni, az olvasó által kezelhető kapcsolatokat létrehozni ezeken belül és ezek között. A dokumentumok lehetnek objektumok, amelyek lehetnek: szöveg, kép (grafika), hang (zene), de akár mozgókép (film) is.
A fenti módon szervezett szöveget hipertextnek hívjuk. A folyamatos, sorokba rendezett szöveg végigolvasása helyett a kereszthivatkozásokat követve könnyen át lehet kerülni a szöveg egy más részére, megnézni más információkat, azután visszatérni, folytatni az olvasást, azután megint egy másik bekezdésre ugrani. Amennyiben a szöveg mellett más objektum is megjelenik, akkor hipermédiáról beszélünk.
HTML oldal összetevői
A hálózaton az objektumok, illetve az ezek részei közötti kapcsolatok magába a szövegbe épülnek be megjelölt szavak és grafikus elemek formájában. Amikor egy ilyenre a felhasználó az egérrel rákattint, a rendszer automatikusan létrehozza a kapcsolatot, és a kapcsolt objektumot megjeleníti a képernyőn. A kapcsolt objektum is tartalmazhat további kapcsolásokat különböző objektumokhoz, amelyek elvileg a hálózaton bárhol lehetnek. A WWW tehát egy dinamikus információtömeg, amelyben a hypertext segítségével létrejött kapcsolatok (linkek) találhatók. Mindezek eredményeként egy adott információ a hálózat bármely pontjáról megszerezhető, illetve ugyanahhoz az információhoz több úton is el lehet jutni a különböző kapcsolatokon keresztül.
Egyszerű weboldal szerkezet
CGI (Common Gateway Interface)
A manapság legismertebb WWW-böngészők nem csak a HTTP-t ismerik, hanem más protokollok segítségével nemcsak WWW szolgáltatókkal tudnak kapcsolatot létesíteni, azoktól szolgáltatásokat kérni. Képesek FTP-on keresztül állományátvitel-szolgáltatások igénylésére, TELNET protokollal távoli elérésre és böngészés végzésére, POP3 protokollal levélszekrények vizsgálatára, letöltésére, SMTP vagy MIME protokollal levelek feladására (kapcsolat levéltovábbító szolgáltatóhoz).
Mindezekhez egységes felhasználói felületet biztosítanak, innen adódik tehát az a téveszme, hogy az Internet a WWW, vagy fordítva: hiszen egy jó WWW-tallózó szinte minden szolgáltatást biztosít, amit az Interneten elérhetünk.
Amit eddig elmondtunk a WWW világról, az még mindig nem biztosítja igazán a programozhatóságot. A WWW szolgáltatóknak rendszerint van még további szolgáltatásuk is. A legegyszerűbb „programozási” lehetőség az, hogy bizonyos HTML-utasításokat a szolgáltató szervere dolgoz fel, így gyakorlatilag a szerveren fog futni a HTML-be ágyazott „program”. A szerver elindítja a parancsértelmezőt, végrehajtatja a parancsot, az eredményeit pedig szövegfájl-válaszként elküldi a kliensnek megjelenítésre.
A CGI protokollszabvány (például Perl, PHP vagy C nyelvű) alkalmazások információs szerverekhez – a gyakorlatban túlnyomóan webszerverekhez (például Apache vagy IIS) – való kapcsolódását teszi lehetővé. Ha a kliens kérése futtatható fájlra mutat, akkor a szerver futtatja azt és a kimenetet adja vissza a kliensnek.
A CGI protokoll szerint akár paramétereket is küldhetünk a kliensből a CGI programnak, amely akár bele is írhat az utoljára megjelenített dokumentumba. A CGI nem egy programnyelv, hanem egy interfész, azt szabályozza, hogyan kap és ad információkat, paramétereket.
Leggyakoribb alkalmazási területük a számlálók és vendégkönyvek elhelyezése a WWW-nyitólapokon, pontos idő szolgáltatás, keresések a helyi vagy akár távoli WWW-rendszerekben, átjárók adatbázis lekérdező rendszerekhez, kérdőívek, szavazólapok kitöltetése, de egyéb programozási megoldásokra is alkalmasak.