Sobes.tech
Middle

Kas vyksta, kai į naršyklę įvedate adresą google.com?

sobes.tech AI

Atsakymas iš AI

  1. URL analizė: Naršyklė analizuoja įvestą URL, nustatydama protokolą (HTTPS), domeno vardą (google.com) ir prievadą (numatytasis 443 HTTPS).
  2. Kaso paieška: Naršyklė tikrina savo DNS cache, ar yra google.com atitinkamas IP adresas.
  3. Užklausa DNS resolveriui: Jei įrašas nėra cache, naršyklė užklausia IP adreso iš DNS resolverio, nustatyto operacinėje sistemoje.
  4. Rekursinė DNS užklausa:
    • Resolveris klausia pagrindinių DNS serverių.
    • Pagrindiniai serveriai nurodo į TLD serverius .com.
    • .com TLD serveriai nurodo į autoritatyvius DNS serverius google.com.
    • Autoritatyvūs DNS serveriai google.com grąžina Google web serverio IP adresą(-us).
  5. TCP ryšio sukūrimas (SYN/ACK): Naršyklė inicijuoja TCP ryšį su gautu IP adresu naudodama trijų krypčių rankos paspaudimą (SYN, SYN-ACK, ACK).
    // Klientas --> Serveris: SYN
    // Serveris --> Klientas: SYN-ACK
    // Klientas --> Serveris: ACK
    
  6. TLS/SSL ryšio sukūrimas: Kadangi tai HTTPS protokolas, vyksta TLS/SSL rankos paspaudimas, siekiant sukurti saugų, šifruotą ryšį. Abi šalys keičiasi sertifikatais ir generuoja sesijos raktus.
  7. HTTP/S užklausos siuntimas: Naršyklė siunčia GET užklausą Google serveriui, norėdama gauti pagrindinį puslapį.
    GET / HTTP/1.1
    Host: google.com
    User-Agent: <naršyklės informacija>
    Accept: text/html,...
    
  8. Užklausos apdorojimas serveryje: Google web serveris (greičiausiai per apkrovos balansierių) priima užklausą, apdoroja ją, galbūt bendrauja su vidiniais servisais.
  9. HTTP/S atsakymo siuntimas: Serveris generuoja HTTP/S atsakymą, kuris apima būsenos kodą (pvz., 200 OK) ir atsakymo turinį (HTML kodą).
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: <turinio dydis>
    // ... kiti antraštės
    // Atsakymo turinys (HTML)
    
  10. Puslapio atvaizdavimas: Naršyklė gauna HTML, analizuoja jį ir kuria DOM medį.
  11. Išteklių įkėlimas: Naršyklė aptinka nuorodas į CSS, JavaScript, vaizdus ir kitus išteklius HTML. Kiekvienam ištekliui atliekami 2-9 žingsniai (arba naudojamas esamas ryšys), siunčiami užklausos ir įkeliami ištekliai.
  12. CSSOM kūrimas: Naršyklė analizuoja CSS ir kuria CSS Object Model.
  13. Render Tree kūrimas: DOM ir CSSOM sujungiami, kuriant atvaizdavimo medį.
  14. Išdėstymas (Layout/Reflow): Naršyklė apskaičiuoja kiekvieno elemento geometrinius matmenis ir padėtį puslapyje.
  15. Piešimas (Painting): Elementai yra piešiami ekrane.
  16. JavaScript vykdymas: Naršyklė vykdo JavaScript kodą, kuris gali keisti DOM, CSSOM ir inicijuoti papildomas veiksmus.
  17. Ryšio užbaigimas: Po duomenų perdavimo TCP ryšys gali būti uždaromas arba paliktas aktyvus būsimoms užklausoms (keep-alive).