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 (ex: google.com) în adrese numerice unice pe care le înțeleg calculatoarele (ex: 142.250.180.206).
Adresa poștală digitală a oricărui echipament conectat la rețea. Fiecare pachet de date poartă pe el adresa IP a expeditorului și adresa IP a destinației pentru a ajunge unde trebuie.
Limbajul prin care browserul tău cere fișierele unui site (text, imagini, cod), iar serverul i le trimite înapoi. Datele călătoresc 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 finale ale domeniilor (cum sunt .ro, .com, .org). Acest server identifică cine găzduiește domeniul specific și trimite cererea mai departe.
Serverul final care deține registrul oficial de adrese al site-ului. El returnează adresa IP exactă către Resolver, care o trimite înapoi la browserul tău pentru a putea î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 disponibilitatea sa.
Browserul trimite pachetul ACK, iar canalul de comunicare directă este stabilit oficial.
4. Securizarea HTTPS: Criptarea Asimetrică vs Simetrică (TLS)
Odată stabilită conexiunea TCP, dacă site-ul folosește HTTPS, urmează negocierea TLS (Transport Layer Security) pentru cifrarea datelor. Aceasta combină două tipuri de criptare:
Folosește o pereche de chei matematice: o Cheie Publică (pe care o vede 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 sa privată.
Deoarece criptarea asimetrică necesită multă putere de calcul, secretul schimbat la pasul anterior devine o Cheie Simetrică Unică. De acum înainte, ambele părți folosesc această singură cheie secretă temporară pentru a cripta și decripta rapid toate datele paginii.
5. Răspunsul Serverului: Ce înseamnă codurile HTTP?
După ce primește cererea HTTP/HTTPS, serverul trimite înapoi fișierele solicitate alături de un cod numeric de stare care indică 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 (posibil scrisă greșit).
Serverul a întâmpinat o problemă internă de cod și nu poate răspunde.
Pentru ca un site din SUA să se încarce la fel de rapid în România, firmele folosesc o rețea Content Delivery Network (CDN). Un CDN este o rețea globală de servere care stochează o copie a site-ului aproape de locația ta geografică. Când pachetele ajung la tine, browserul execută trei pași pentru a-ți arăta pagina:
Browserul citește codul HTML și construiește scheletul paginii (titluri, texte, butoane).
Descarcă stilurile vizuale și aplică culorile, fonturile, dimensiunile și așezarea în pagină.
Execută codul JavaScript care activează animațiile, meniurile și funcțiile interactive ale site-ului.
