Hogyan töltődik le egy oldal?
HTTP timing A HTTP (HyperText Transfer Protocol) a Web elsődleges protokollja. A kiszolgálók, és a böngészők ezt használják arra, hogy tartalmat közvetítsenek az interneten keresztül. Bár a böngésző előtt ülve ez egy igen egyszerű folyamatnak tűnik, hiszen csak be kell írni az elérni kívánt címet a böngészőbe, vagy a megfelelő linkre kell kattintani, azonban a háttérben igen komoly kommunikáció megy végbe a kliens böngészője, és a kiszolgáló webszervere között. Ennek a legfontosabb lépései a következők:
- DNS feloldás
- Kapcsolódás
- Adat küldés
- Várakozás
- Adat fogadás
- DOM betöltés
- Oldal betöltése
DNS feloldás
Ebben a lépésben még nem az elérni kívánt webszerverrel történik a kommunikáció, hanem az internet szolgáltató (ISP) névszerverével. (DNS szerver). A cél, hogy megtudjuk, az ember által könnyen megjegyezhető domén név (domain) milyen a gépek számára hasznos azonosítóhoz (IP cím) tartozik.
Kapcsolódás
Ha már megvan a kívánt IP cím, akkor a felhasználó böngészője fel tudja venni a közvetlen kapcsolatot a webszerverrel. Azonban mivel az interneten már több szabvány is létezik a kommunikációra, fontos, hogy mindkét fél ugyanazt a „nyelvet” beszélje. Ebben a lépésben a szerver, és a kliens között egy egyeztető folyamat zajlik, hogy a továbbiakban megértsék egymást.
Adat küldés
Ekkor küldi el a kliens a szervernek, hogy pontosan milyen adatokra van szüksége (HTTP request). Ez tartalmazza az elérni kívánt címet, illetve, ha a kiszolgáló számára a tartalom előállításához szükséges, akkor az általunk megadott beviteli mezők értékeit is.
Várakozás
A szerveren ekkor folyik az érdemi munka. A futó alkalmazások összegyűjtik az adatokat, kapcsolódnak az adatbázisokhoz, vagy más gépekhez (ha szükséges), végül a webszerver előállítja a kívánt weboldal forráskódjait.
Adat fogadás
A szerver visszaküldi a kliensnek az információkat (HTTP response). Ezt feldolgozva tudja majd a böngésző megjeleníteni az oldalt.
Ezzel a kommunikációs fázis le is zárult. Ezt a kliens, egy FIN csomag küldésével nyugtázza is a szerver felé. Azonban maga a tartalom még nem látszik a böngészőben. Ehhez további munkára van szükség, amelynek a két legfontosabb pontja:
DOM betöltés
A HTML lapok egy Dokumentum Objektum Modell (DOM) szerint épülnek fel. Itt az elemek szülő-gyermek viszonyban helyezkednek el. Ennek a fának a felépítése jelentős erőforrást is igényelhet, ha bonyolult oldalról van szó.
Oldal betöltés
Mondhatjuk, hogy ezzel véget is ér a munka, az oldal megjelenik a böngészőben. Minden új letöltésre, kattintásra újra kezdődik a folyamat, az elejétől.
Ezek a leírások csupán a lépések lényegeit ismertetik. Az egyes pontokban önmagukban is szigorú szabályok szerinti folyamatok zajlanak. Részletes információkért érdemes minden pontnak külön-külön utána olvasni.