Sobes.tech
Middle

Čo sa deje, keď do prehliadača zadáte adresu, napríklad google.com?

sobes.tech AI

Odpoveď od AI

  1. Rozbor URL: Prehliadač rozdeľuje URL na zložky: protokol (HTTP/HTTPS), doménové meno (google.com) a cestu (/).

  2. 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.
  3. 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).
  4. 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.
  5. 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  
    
  6. 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ď.
  7. 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>...  
    
  8. 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).