Sobes.tech
Middle

Čo sa stane, keď zadáte adresu google.com do prehliadača?

sobes.tech AI

Odpoveď od AI

  1. Parsig URL: Prehliadač analyzuje zadaný URL, určujúc protokol (HTTPS), doménové meno (google.com) a port (predvolené 443 pre HTTPS).
  2. Hľadanie v cache: Prehliadač kontroluje vlastnú DNS cache, či nájde IP adresu zodpovedajúcu google.com.
  3. Žiadosť na Resolver: Ak v cache nie je záznam, prehliadač požaduje IP adresu od DNS resolvera nastaveného v operačnom systéme.
  4. Rekurzívna DNS žiadosť:
    • Resolver sa pýta na koreňové DNS servery.
    • Koreňové servery ukazujú na TLD servery pre .com.
    • TLD servery pre .com ukazujú na autoritatívne DNS servery pre google.com.
    • Autoritatívne DNS servery pre google.com vracajú IP adresu(y) webového servera Google.
  5. Vytvorenie TCP spojenia (SYN/ACK): Prehliadač naväzuje TCP spojenie s obdržanou IP adresou pomocou trojstranného handshake (SYN, SYN-ACK, ACK).
    // Klient --> Server: SYN
    // Server --> Klient: SYN-ACK
    // Klient --> Server: ACK
    
  6. Vytvorenie TLS/SSL spojenia: Pretože ide o HTTPS, prebieha TLS/SSL handshake na naviazanie bezpečného, šifrovaného spojenia. Obe strany si vymieňajú certifikáty a generujú relácie kľúče.
  7. Odoslanie HTTP/S požiadavky: Prehliadač odošle GET požiadavku na server Google na získanie hlavnej stránky.
    GET / HTTP/1.1
    Host: google.com
    User-Agent: <informácie o prehliadači>
    Accept: text/html,...
    
  8. Spracovanie požiadavky serverom: Webový server Google (pravdepodobne cez load balancer) prijíma požiadavku, spracováva ju, prípadne komunikuje s internými službami.
  9. Odoslanie HTTP/S odpovede: Server generuje HTTP/S odpoveď, ktorá obsahuje stavový kód (napríklad 200 OK) a telo odpovede (HTML kód stránky).
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: <veľkosť obsahu>
    // ... ďalšie hlavičky
    // Telo odpovede (HTML)
    
  10. Renderovanie stránky: Prehliadač obdrží HTML, analyzuje ho a vytvára DOM strom.
  11. Načítanie zdrojov: Prehliadač zistí odkazy na CSS, JavaScript, obrázky a ďalšie zdroje v HTML. Pre každý zdroj sa vykonajú kroky 2-9 (alebo sa použije existujúce spojenie), odosielajú sa požiadavky a načítavajú zdroje.
  12. Vytváranie CSSOM: Prehliadač analyzuje CSS a vytvára CSS Object Model.
  13. Vytváranie Render Tree: DOM a CSSOM sa spájajú na vytvorenie stromu vykresľovania.
  14. Umiestnenie (Layout/Reflow): Prehliadač vypočíta geometrické rozmery a pozície každého prvku na stránke.
  15. Vykreslenie (Painting): Prvky sa vykresľujú na obrazovku.
  16. Spustenie JavaScriptu: Prehliadač spúšťa JavaScript kód, ktorý môže meniť DOM, CSSOM a iniciovať ďalšie akcie.
  17. Zatvorenie spojenia: Po dokončení prenosu dát môže byť TCP spojenie zatvorené alebo ponechané aktívne pre ďalšie požiadavky (keep-alive).