Amikor betöltök egy oldalt akkor mi történik pontosan?
Azért hogy ne kelljen mindent elküldeni újra...
Azaz ha pl. letöltesz egy JS, CSS, vagy képet, akkor az már legközelebb cache -ből jön, és csak az oldald forrása, és még cache-ben nem tárolt adatokat hozzon.
Sőt, van egy speciálisabb eset is, mikor AJAX -al tölti be az oldal, egy kis elemét... tehát nem a teljes weblapot, csak egy részét.
Na'h ezért megy így, hogy csökkentse a nethasználatott, és így gyorsabban töltődjön be.
Azért, mert a HTTP protokoll így működik. A multipart nem célszerű, illetve, ahogyan az előttem is említették, így fájlonként lehet cache-elni.
Emellett, a szervernek a dolga az érkező kérésekre válaszolni; nem kenyere parse-olgatni a HTML fájlokat, hogy "na, mit kell még mellé elküldeni?". A HTML dokumentumot a böngésző értelmezi kliens oldalon, így csak ez fogja tudni, mi mindent kell betölteni a megfelelő megjelenítéshez.
Tehát ami történik:
1. A böngésződ megkapja a HTML-t és értelmezni kezdi
2. Talál egy hivatkozást egy másik fájlra, így elküld egy újabb kérést a szerver felé, hogy megkapja a kérdéses fájlt.
3. A megkapott fájlt hasonló módon dolgozza fel (értelmezi a CSS-t, JavaScriptet; kirendereli a képet; stb)
4. Folytatja az adott DOM értelmezését
Mégegyszer, mivel a szervernek nem tartozik a feladatai közé, hogy feldolgozza a tőle lekért fájlokat, így nem is tudhatja, miből fog összeállni a dokumentum, ezért egyszerre csak egy fájlt küldhet el, amelynek tartalma alapján a böngésző reszortja új kérést küldeni, ha a dokumentum megjelenítéséhez más fájlok betöltése is szükséges.
Működhetne ez másképpen, de ahhoz egy teljesen másik technology stack kellene, és valószínűleg a fájlonkénti cache-elést is fel kellene adni (de legalábbis komplikáltabb lenne megvalósítani).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!