Middle
Ako sa načíta webová stránka?
sobes.tech AI
Odpoveď od AI
- Používateľ zadá URL do adresného riadku prehliadača alebo klikne na odkaz.
- Parsovanie URL: Prehliadač analyzuje URL na určenie protokolu, domény, portu a cesty.
- Hľadanie IP adresy: Prehliadač kontroluje cache DNS, potom cache operačného systému a nakoniec cache smerovača. Ak adresa nie je nájdená lokálne, odošle požiadavku na DNS server na získanie IP adresy doménového mena.
- Vytvorenie TCP spojenia (Handshake): Prehliadač vytvára TCP spojenie so serverom na základe získanej IP adresy (trojstranné handshake: SYN -> SYN-ACK -> ACK).
- Odoslanie HTTP požiadavky: Prehliadač odosiela HTTP požiadavku (zvyčajne GET) na server s uvedením požadovaného zdroja (cesta), hlavičkami (User-Agent, Accept-Encoding, Cookie atď.) a telom požiadavky (ak je).
GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 ... Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 - Spracovanie požiadavky serverom: Server prijíma požiadavku, spracováva ju (napríklad spúšťa skripty na strane servera) a vytvára HTTP odpoveď.
- Odoslanie HTTP odpovede: Server odosiela HTTP odpoveď späť prehliadaču. Odpoveď obsahuje stavový kód (napríklad 200 OK), hlavičky (Content-Type, Content-Length, Cache-Control atď.) a telo odpovede (obsah požadovaného zdroja, napr. HTML súbor).
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: 12345 Cache-Control: max-age=3600 <!DOCTYPE html> <html> <head>...</head> <body>...</body> </html> - Parsovanie HTML a konštrukcia DOM: Prehliadač prijíma HTML kód a analyzuje ho, vytvára objektový model dokumentu (DOM - Document Object Model) v pamäti. DOM predstavuje strom prvkov HTML.
- Načítanie a spracovanie zdrojov: Počas parsovania HTML prehliadač narazí na odkazy na iné zdroje (CSS, JavaScript, obrázky, písma atď.). Pre každý zdroj sa vykonajú kroky 3-7 (hľadanie IP, TCP spojenie, HTTP požiadavka/odpoveď). Načítanie týchto zdrojov môže prebiehať paralelne (obmedzené počtom súčasných spojení).
- Vytváranie CSSOM: Prehliadač analyzuje CSS súbory a bloky
<style>v HTML, vytvára objektový model CSS (CSSOM - CSS Object Model). CSSOM predstavuje štýly aplikované na prvky stránky. - Vytváranie Render Tree: Prehliadač kombinuje DOM a CSSOM na vytvorenie stromu vykreslenia (Render Tree). Render Tree obsahuje iba viditeľné prvky a ich štýly. Prvky s
display: nonenie sú zahrnuté. - Rozloženie (Reflow): Prehliadač vypočíta presné umiestnenie a rozmery každého prvku na stránke na základe Render Tree, veľkosti okna a štýlov.
- Kreslenie (Repaint): Prehliadač nakreslí každý prvok na obrazovku na vypočítaných pozíciách a s použitými štýlmi. Toto sa deje na vrstvách.
- Kombinovanie: Prehliadač spojí nakreslené vrstvy do konečného obrázka, ktorý sa zobrazí na obrazovke používateľa.
- Vykonanie JavaScriptu: Počas načítania a analýzy skriptov sa spúšťa kód JavaScript. Vykonanie JavaScriptu môže ovplyvniť DOM a CSSOM, čo spôsobí opätovné kroky Layout a Painting (Reflow/Repaint).
Kľúčové fázy zobrazovania obsahu:
- DOMContentLoaded: Udalosť sa aktivuje, keď prehliadač úplne načítal a analyzoval HTML dokument a vytvoril DOM strom, ale čaká na načítanie štýlových tabuliek, obrázkov a podriadených rámcov.
- Load: Udalosť sa aktivuje, keď je celá stránka, vrátane obrázkov, skriptov, štýlov a ďalších zdrojov, úplne načítaná.