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
-
Analiza URL: Browser-ul împarte URL-ul în părțile componente: protocolul (HTTP/HTTPS), numele de domeniu (
google.com) și calea (/). -
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.
-
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).
-
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ă.
-
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 -
Procesarea cererii de către server:
- Serverul primește cererea.
- Serverul procesează cererea (de exemplu, execută logica aplicației).
- Serverul generează răspunsul HTTP.
-
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>... -
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).