Archives for 

PHP

Kliens-Szerver felépítése

A világháló a kliens (~vevő, vagy ha tetszik felhasználó) – szerver szerkezete körül forog. A géped ugyanis egy kliens („client“) nevű alkalmazást futtat, amely a szervergépen futó szerver („server“) programmal kommunikál. A kliens szoftver általában egy internetes böngésző program, például az Internet Explorer, Netscape Navigator, Mozilla, Firefox. Ezek a böngészők, keresők „beszélgetnek“ a szerver szoftverrel az ún. protokoll nyelvén, amely nem más, mint parancsok-utasítások programozott sora.

Ezek a protokollok segítenek a pontos adattovábbítás és adatátvitel lebonyolításában egészen a keresés megindításától a szerverválaszig.

Protocol_Stack

Természetesen számos protocoll elérhető a neten. Használhatunk HTTP, FTP, Telnet, email-t a internetes böngészőnk segítségével.
Néhány közös internet protokoll

  • HTTP (HyperText transfer Protocol): A nagy világháló, azaz a „World Wide Web“ (www) használja weboldalak, lapok, képek, file-ok átvitelére.
  • FTP (File Transfer Protocol): ez két gép közötti adatátvitelre alkalmas.
  • SMTP (Simple Mail Transport Protocol): természetesen levelezésre használatos.
  • Telnet Protocol: internetes telefonalkalmazások protokollegyüttese.

A hálózat egy kapcsolatmentes protokollt alkalmaz, ami annyit jelent, hogy minden egyes kliens-szerver „beszélgetés“, interakció után a kapcsolat megszakad.
Nézzük meg a kliens-szerver kommunikáció 3 lehetséges modelljét!

Modell #1 – Statikus HTML oldalak

model1

A kliens (a böngésző program) lekér egy HTML file-t a szerver programon keresztül a Szervergépről. A szerverszoftver megkeresi, beazonosítja és továbbítja a keresett file-t a kliensnek (azaz az internetes böngészőnknek). A böngészőnk pedig megjeleníti azt a gépünkön. Ebben az esetben a HTML oldal statikus, ami annyit tesz, hogy nem változik, amíg a fejlesztője nem változtat rajta.

Modell #2 – CGI Scripts (CGI kéziratok)

model2

Ez a modell kicsit eltér a CGI alkalmazásoktól. Ez esetben a szervernek több feladata van, mert a CGI program is terheli magát a Szerver gépet.

Ha olyan géppel kerülsz keresésed során kapcsolatban, amin CGI program fut, akkor a keresésed indítása után a szerver program beazonosítja a szükséges CGI programot és minden adatot átad neki a kereséseddel kapcsolatban. A CGI a keresés eredményét a szervernek továbbítja, aki pedig a gépeden lévő internetböngészőnek, majd a szokott módon megjelenik a HTML lap a monitorodon.

Ilyen módon a CGI program egy dinamikus HTML lapot generál, hoz létre, amelynek tartalma természetesen a kereséskor átadott adatoktól függ.

Modell #3 – Szerver oldali scriptelés

model3

A 3. modell is dinamikus választ generál, amelyet a a szerver oldali technológia tesz lehetővé. A szerver oldali technológiának több megoldása ismert.

  1. Aktív Szerver Oldalak (Active Server Pages – ASP): Microsoft technológia, kiterjesztése tipikusan „.asp“.
  2. PHP (Hypertext Preprocessor – PHP): Nyílt forrású technológia, kiterjesztése lehet „.php“, „.phtml“ vagy „.php3“ file-ok.
  3. Java Szerver Oldalak (Java Server Pages): Java kóddal írt „jsp“ formátumok.
  4. Szerver oldali tartalom (Server Side Includes – SSI): Magában foglal egy apró kódot a HTML oldalban beágyazva. Kiterjesztése tipikusan „.shtml“ file formátum.

Ezekkel a szerver technológiákkal a Web lapok karbantartása lényegesen egyszerűbb lett, különösen a nagyobb Web lapok esetén igaz ez. A fejlesztőnek annyit kell tennie, hogy beágyazza a szerver-oldali nyelvkódot a HTML lapba, ez a kód pedig tolmácsként működik: egy-egy beérező parancs esetén lefordítja mit kell tenni és a válaszként a böngészőnek elküldött végleges HTML képet is ő generálja.

Ez a script kód nyelvezet természetesen a felhasználó számára nem látható, hiszen a szerver a válaszban HTML kódot küld kizárólag.

Ha egy PHP jellegű példát nézünk: egy PHP oldal keresés elindítását követően a szerver PHP-tolmács mechanizmusa együtt dolgozik az egyéb szerver programkombinációkkal. Ez a fordítóprogram feldolgozza a PHP kódokat és egy dinamikus HTML-t hoz létre válaszként, amely a szerveren keresztül a klienshez kerül. A kliens internet böngészője természetesen mit sem sejt a háttérben zajló folyamatokról, a szerver oldali tevékenységekről, hiszen ő csak egy számára értelmezhető HTML kódot kap válaszként, amit aztán megfelelő formává alakítva megjelenít a kliens monitorján.

Remélem érthető és hasznos volt!

Olvasd el a többi érdekes cikkünket is!

Képek forrásai:

Protokollok