A világhálóra kapcsolt számítógépek a „HyperText Transfer Protocol“-t (azaz HTTP-t) használják az egymás közötti kommunikációra. A HTTP biztosítja a tökéletes, pontos adat- és információcserét instrukciók, utasítások során keresztül. A kliens (a webböngésződ) és a szerver (a Szervergépen működő program, szoftver) közötti kommunikáció magába foglalja azokat az igényléseket („requests“), amelyeket a kliens egy-egy keresés megindításával a szerver felé küld.
Minden kliens-szerver tranzakciónak, akár igénylésről, akár válaszról van szó, 3 fő része van:
- Egy válasz vagy igény sor
- Fejléc adatai (Header information)
- A kommunikációs tartalom (The body)
A kliens a 80-as port-on lép kapcsolatba a szerverrel, (hacsak a rendszergazda át nem állította ezt) és elküldi a keresésre vonatkozó igénylését. Az igénylés tartalmazza az igény jellegét, a kért file címét és a HTTP verziószámát.
GET /mypage.html HTTP/1.1
Kiolvasható, hogy a fenti igénylés a mypage.html file-t keresi, „GET HTTP“ metódussal; a HTTP verziója pedig 1.1.
Az igénylési sor után a fejléc adatait találjuk, ami a klienssel és dokumentum megjelenítési preferenciájával kapcsolatos adatokat tartalmaz. A fejléc több adatsor együttese, amelyek mindegyike a klienssel kapcsolatos specifikus részletet tartalmaz és üres sor zárja. Ilyen egy fejléc:
ACCEPT: */*
ACCEPT_LANGUAGE:en-us
REFERER:http://www.mesetarhely.hu/index.html
USER_AGENT:Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
…
A fejléc legtöbb sora magától értetődő tartalmilag. Az „ACCEPT“ (elfogadni) azonosítja be azokat a file típusokat, amelyeket a kliens fogadni tud.
A „REFERER“ (hivatkozni) sor tartalmazza azt a visszautalást, hogy mely dokumentumból kiindulva keletkezett az igénylés. A példánk szerint ez a „index.html“ dokumentum, a http://www.mesetarhely.hu weboldalról.
A „USER_AGENT“ nevezi meg a böngésző típusát és verziószámát.
Az igénylés tartalmi része (the body) a kliens által „POST“ módon küldött adatokat fog tartalmazni.
Erre tud válaszolni a szerver. A válasz szintén 3 fő egységből áll.
A válasz sor a HTTP verziószámát, egy státuszkódot (a kliens igénylésének eredményére utal) és a státuszkód leírását tartalmazza „angolul“.
Így néz ki egy szerverválasz:
HTTP/1.1 200 OK
A szóban forgó HTTP verziója 1.1 és a státuszkód 200, az ‘OK’ magyarázza ezt a kódot el. Természetesen sok HTTP státuskód van.
A szervertől érkező fejléc információkat nyújt magáról a szerver szoftverről és a kliensnek küldött dokumentumról is.
Ilyen egy szervertől érkező fejléc:
Date: Wed, 16 Aug 2000, 13:25:54 GMT
Server: NCSA/1.5.2
Last-modified: Sat, 22 Jan 2000, 05:15:43
Content-type: text/html
Content-length: 12443
A fejlécadatokat egy üres sor követi, ami természetesen azt jelzi, hogy vége a fejlécnek. A példánkban a szerver egy 12443 byte nagyságú HTML dokumentumot küld, ahogy azt a „Content-type“ (tartalom típusa) és a „Content-length“ (tartalom nagysága) sorai mutatják. A „server“ sor mutatja meg a szerver szoftver adatait, a többi sor pedig egyértelmű (dátum, utolsó módosítás dátuma).
Végezetül pedig említsük meg még egyszer, hogy a HTTP protokoll ún. „stateless protocol“, ez annyit tesz, hogy a kapcsolat a böngésző és a szerver között minden egyes tranzakció végén megszakad, befejeződik.
Remélem érthető és hasznos volt!
Olvasd el a többi érdekes cikkünket is!
Képek forrásai: