DNS (Domain Name System) este coloana vertebrală a navigării pe internet, transformând numele ușor de reținut ale site-urilor (cum ar fi reprofil.ro) în adrese IP numerice pe care calculatoarele le înțeleg. Fără acest sistem, ar trebui să memorezi șiruri lungi de cifre pentru fiecare site vizitat, ceea ce ar face experiența web impracticabilă. Înțelegerea DNS-ului este crucială pentru depanarea erorilor de conexiune, configurarea domeniilor și optimizarea performanței aplicațiilor frontend.
Ce trebuie să știi
- Traducerea numelor în IP-uri: DNS acționează ca un telefon global, mapând domeniile umane la adresele IP (IPv4 sau IPv6) ale serverelor.
- Ierarhia și rezolvarea: Procesul implică interogarea unui resolver local, apoi a serverelor root, TLD (Top-Level Domain) și, în final, a serverelor autoritative pentru domeniu.
- Tipuri de înregistrări: Cunoaște diferența dintre A (IPv4), AAAA (IPv6), CNAME (alias), MX (email) și TXT (verificare/security).
- Cache-ul DNS: Browserele și ISP-urile stochează rezultatele temporar pentru a accelera încărcarea și a reduce traficul.
- TTL (Time To Live): Valoarea care determină cât timp rămâne valabilă o înregistrare în cache înainte de a fi verificată din nou.
- Impactul asupra UX: Un DNS lent sau nerezolvat blochează încărcarea resurselor statice, afectând direct timpul de răspuns al aplicației.
Exemplu: Verificarea înregistrărilor DNS
Poți folosi terminalul pentru a vedea cum se rezolvă un domeniu. Comanda dig este utilă pentru a inspecta înregistrările:
# Verificăm înregistrarea A pentru un domeniu fictiv
dig example.com +short
# Rezultat posibil:
93.184.216.34
Această comandă îți arată direct adresa IP asociată domeniului, ignorând cache-ul local dacă nu este specificat altfel. Pentru depanare rapidă, poți folosi și nslookup sau instrumente online precum DNS Checker pentru a verifica propagarea globală.
Cum să înveți
- Experimentează cu CLI: Folosește comenzi precum
ping,nslookupșidigpentru a înțelege fluxul real de rezolvare a numelor pe mașina ta. - Configurează un domenie local: Încearcă să mapai un domenie personalizat (ex:
myapp.test) la127.0.0.1în fișierul/etc/hostspentru a simula un mediu de producție. - Studiază procesul de handshake: Citește despre pașii detaliați ai rezolvării DNS (recursive vs. iterative queries) pentru a înțelege unde pot apărea latențe.