Sobes.tech
Middle

Ce se întâmplă când introduceți o adresă, de exemplu google.com, în browser?

sobes.tech AI

Răspuns de la AI

  1. Analiza URL: Browser-ul împarte URL-ul în părțile componente: protocolul (HTTP/HTTPS), numele de domeniu (google.com) și calea (/).

  2. Căutarea adresei IP:

    • Browser-ul verifică cache-ul DNS.
    • Sistemul de operare verifică cache-ul DNS.
    • Sistemul solicită serverului DNS (de obicei furnizat de provider).
    • Serverul DNS face interogări recursive către serverele DNS root, TLD și autoritative până găsește adresa IP a google.com.
    • Adresa IP este returnată browser-ului.
  3. Stabilirea conexiunii TCP:

    • Browser-ul stabilește o conexiune TCP cu serverul la adresa IP găsită, folosind handshake-ul în trei pași (SYN, SYN-ACK, ACK).
  4. Handshake SSL/TLS (pentru HTTPS):

    • Clientul și serverul negociază algoritmii de criptare.
    • Serverul trimite certificatul său.
    • Browser-ul verifică certificatul.
    • Părțile schimbă chei de criptare pentru o comunicare sigură.
  5. Trimiterea cererii HTTP: Browser-ul trimite o cerere HTTP către server, conținând metoda (GET), calea, anteturile (Host, User-Agent, Accept etc.) și, posibil, corpul cererii.

    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. Procesarea cererii de către server:

    • Serverul primește cererea.
    • Serverul procesează cererea (de exemplu, execută logica aplicației).
    • Serverul generează răspunsul HTTP.
  7. Primirea răspunsului HTTP: Browser-ul primește răspunsul HTTP de la server, care conține codul de stare (de exemplu, 200 OK), anteturile (Content-Type, Content-Length etc.) și corpul răspunsului (pagină HTML, imagini, CSS, JS etc.).

    HTTP/1.1 200 OK  
    Content-Type: text/html; charset=UTF-8  
    Content-Length: XXXX  
    ...  
    
    <!doctype html>...  
    
  8. Redarea paginii:

    • Browser-ul începe să analizeze codul HTML.
    • La detectarea linkurilor către CSS, JavaScript sau imagini, browser-ul face cereri suplimentare pentru a le obține (pașii 2-7 se repetă pentru fiecare resursă).
    • Browser-ul construiește arborele DOM (Document Object Model) din HTML.
    • Browser-ul construiește arborele CSSOM (CSS Object Model) din CSS.
    • Browser-ul construiește arborele de randare, combinând DOM și CSSOM.
    • Browser-ul execută JavaScript (poate modifica DOM și CSSOM).
    • Browser-ul calculează layout-ul elementelor de pe pagină (Layout).
    • Browser-ul desenează elementele pe ecran (Painting).