Cum călătorește un site pe Internet? DNS, TCP, HTTP & HTTPS
1. Dicționarul Termenilor Principali
Un protocol este pur și simplu un set de reguli pe care două calculatoare le respectă pentru a putea comunica corect între ele.
Registrul de telefoane al Internetului. Traduce nume ușor de reținut de oameni (de exemplu, google.com) în adrese numerice unice pe care le înțeleg calculatoarele (de exemplu, 142.250.180.206).
Adresa poștală digitală a oricărui echipament conectat la rețea. Fiecare pachet de date poartă adresa IP a expeditorului și a destinației, ca să ajungă unde trebuie.
Limbajul prin care browserul cere fișierele unui site (text, imagini și cod), iar serverul le trimite înapoi. Datele circulă necriptate, în text clar.
Varianta securizată a protocolului HTTP. Înainte de trimitere, datele sunt cifrate folosind un certificat de securitate, astfel încât nimeni pe drum să nu poată citi parolele sau cardurile introduse.
2. Cum funcționează rezoluția DNS pas cu pas
Traducerea unui nume de domeniu într-o adresă IP implică o ierarhie strictă de 4 servere specializate:
Primul server întrebat de browserul tău. De obicei este administrat de furnizorul tău de internet (Digi, Vodafone) sau de servicii publice precum Cloudflare (1.1.1.1). Dacă are adresa salvată în memoria cache, ți-o oferă pe loc.
Dacă Resolver-ul nu știe răspunsul, întreabă un Root Server. Există 13 mari grupuri de servere rădăcină la nivel mondial. Ele nu știu IP-ul exact, dar îndrumă cererea către serverul care se ocupă de extensia domeniului tău.
Gestionează extensiile domeniilor, precum .ro, .com și .org. Identifică serverul care găzduiește domeniul și trimite cererea mai departe.
Serverul final, care deține înregistrările oficiale de adrese ale site-ului. Returnează adresa IP exactă către resolver, iar acesta o trimite browserului pentru a începe conexiunea.
3. Protocolul TCP: Cum se stabilește conexiunea (Handshake)
Dacă IP-ul se ocupă de găsirea adresei, Transmission Control Protocol (TCP) este cel care se asigură că datele ajung complete, reordonate corect și fără pierderi. Înainte de a trimite conținutul site-ului, se execută un salut în 3 pași (TCP 3-Way Handshake):
Browserul trimite un pachet special numit SYN (Synchronize) prin care spune că dorește să deschidă o conexiune.
Serverul răspunde cu SYN-ACK (Acknowledge), confirmând primirea cererii și faptul că este disponibil.
Browserul trimite pachetul ACK, iar canalul de comunicare directă este stabilit oficial.
4. Securizarea HTTPS: criptare asimetrică și simetrică (TLS)
După stabilirea conexiunii TCP, un site HTTPS negociază TLS (Transport Layer Security) pentru a cripta datele. TLS combină două tipuri de criptare:
Folosește o pereche de chei: o cheie publică, pe care o poate vedea oricine, și o cheie privată, păstrată secretă pe server. Browserul folosește cheia publică pentru a cripta un secret scurt și a-l trimite serverului. Doar serverul îl poate decripta cu cheia privată.
Deoarece criptarea asimetrică necesită multă putere de calcul, secretul schimbat anterior devine o cheie simetrică unică. Apoi, ambele părți folosesc acea cheie temporară pentru a cripta și decripta rapid toate datele paginii.
5. Răspunsul serverului: ce înseamnă codurile HTTP?
După ce primește o cerere HTTP/HTTPS, serverul trimite fișierele solicitate și un cod numeric de stare, care arată dacă totul a decurs bine:
Serverul a găsit pagina și o trimite cu succes către browser.
Pagina s-a mutat la o altă adresă web. Browserul este trimis acolo automat.
Adresa cerută nu există pe server (este posibil să fi fost scrisă greșit).
Serverul a întâmpinat o eroare internă și nu poate răspunde.
Pentru ca un site din SUA să se încarce rapid și în România, companiile folosesc o rețea Content Delivery Network (CDN). Aceasta păstrează copii ale site-ului pe servere din apropierea ta. Când datele ajung, browserul face trei pași pentru a afișa pagina:
Browserul citește codul HTML și construiește structura paginii: titluri, texte și butoane.
Descarcă stilurile și aplică culorile, fonturile, dimensiunile și aspectul paginii.
Execută JavaScript, care activează animațiile, meniurile și funcțiile interactive ale site-ului.