Middle
Čo sa deje, keď do prehliadača zadáte adresu, napríklad google.com?
sobes.tech AI
Odpoveď od AI
-
Rozbor URL: Prehliadač rozdeľuje URL na zložky: protokol (HTTP/HTTPS), doménové meno (
google.com) a cestu (/). -
Hľadanie IP adresy:
- Prehliadač kontroluje svoj DNS cache.
- Operačný systém kontroluje svoj DNS cache.
- Systém odosiela požiadavku na DNS server (zvyčajne poskytovateľa).
- DNS server rekurzívne žiada koreňové, TLD a autoritatívne DNS servery, kým nenájde IP adresu
google.com. - IP adresa je vrátená prehliadaču.
-
Vytvorenie TCP spojenia:
- Prehliadač vytvára TCP spojenie so serverom pomocou nájdenej IP adresy, využívajúc trojstupňové handshake (SYN, SYN-ACK, ACK).
-
SSL/TLS handshake (pre HTTPS):
- Klient a server sa dohodnú na šifrovacích algoritmoch.
- Server odošle svoj certifikát.
- Prehliadač overí certifikát.
- Strany si vymenia kľúče pre zabezpečenú komunikáciu.
-
Odoslanie HTTP požiadavky: Prehliadač odošle HTTP požiadavku na server, obsahujúcu metódu (GET), cestu, hlavičky (Host, User-Agent, Accept a pod.) a prípadne telo požiadavky.
GET / HTTP/1.1 Host: google.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.
- Server spracováva požiadavku (napríklad vykonáva logiku aplikácie).
- Server vytvára HTTP odpoveď.
-
Prijatie HTTP odpovede: Prehliadač dostáva HTTP odpoveď od servera, obsahujúcu stavový kód (napríklad 200 OK), hlavičky (Content-Type, Content-Length a pod.) a telo odpovede (HTML stránka, obrázky, CSS, JS a pod.).
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: XXXX ... <!doctype html>... -
Renderovanie stránky:
- Prehliadač začína parsovať HTML kód.
- Pri objavení odkazov na CSS, JavaScript alebo obrázky, prehliadač robí ďalšie požiadavky na ich získanie (kroky 2-7 sa opakujú pre každý zdroj).
- Prehliadač vytvára DOM strom (Document Object Model) z HTML.
- Prehliadač vytvára CSSOM strom (CSS Object Model) z CSS.
- Prehliadač vytvára strom pre renderovanie, spájajúc DOM a CSSOM.
- Prehliadač vykonáva JavaScript (môže meniť DOM a CSSOM).
- Prehliadač vypočítava rozloženie prvkov na stránke (Layout).
- Prehliadač vykresľuje prvky na obrazovke (Painting).