🌐 Kako Internet pronalazi put? (DNS dubinsko istraživanje)
Kada otvorite web pretraživač (Browser) i upišete adresu (npr. www.google.com), pokrećete
složen niz događaja koji rezultiraju prikazom web stranice na vašem ekranu. Ovaj proces možemo
pojednostavljeno objasniti kao razgovor između dva ključna učesnika: Klijenta (Vaš
browser) i Servera (Računar negdje u svijetu koji čuva web stranicu).
Osnovni tok podataka: Klijent šalje Zahtjev (Request), Server šalje Odgovor (Response).
Glavne Uloge
- Browser (Klijent): Aplikacija (Chrome, Firefox, Edge) koja zna kako da pošalje zahtjev serveru i kako da prikaže (renderuje) dobiveni odgovor u formu razumljivu ljudima.
- Web Server: Moćan računar koji je stalno povezan na mrežu i koji "sluša" zahtjeve. Na njemu su pohranjeni fajlovi (HTML, slike, videi) ili kod (PHP, .NET, Python) koji generiše stranice.
- Mreža (Internet / Intranet): Infrastruktura (kablovi, ruteri) koja povezuje klijenta i servera.
🏛️ Javna Uprava: Internet vs Intranet
U javnoj upravi, često ćete čuti pojam Intranet (ili zatvorena državna mreža, SDT - Sistem digitalnih telekomunikacija). To je privatna mreža, tehnološki identična Internetu (koristi iste protokole poput HTTP/IP), ali je fizički ili logički izolovana od ostatka svijeta.
- Internet: Portal
e-uprava.gov.badostupan svim građanima od kuće. - Intranet: Sistem za obradu poreza kojem pristupaju isključivo službenici unutar zgrade ministarstva (ili putem sigurnog VPN-a). Ovaj server uopšte nije vidljiv izvan državne mreže, čime se drastično povećava sigurnost osjetljivih podataka.
🌍 DNS: Telefonski Imenik Interneta
Računari ne razumiju imena kao što je google.com. Oni komuniciraju koristeći brojeve koji
se zovu IP adrese (npr. 142.250.180.14).
Da ne bismo morali pamtiti brojeve, koristimo DNS (Domain Name System).
💡 Analogija sa Telefonom
DNS je kao imenik u vašem telefonu. Vi odaberete "Mama" (Domena), a telefon poziva broj
+387 61 123 456 (IP adresa).
Kako Browser pronalazi IP adresu (Proces Rezolucije)
Prije nego što se zahtjev uopšte pošalje na internet, vaš računar prolazi kroz nekoliko slojeva provjere kako bi uštedio vrijeme:
Kako Browser pronalazi IP adresu servera putem DNS-a
- Lokalni DNS Cache (Pamćenje): Vaš operativni sistem posjeduje "lokalnu svesku" (Cache) u koju zapisuje nedavne upite. Ako ste sajt posjetili prije par minuta, računar već ima tu adresu spremnu u RAM memoriji.
- DNS Resolver: Ako adrese nema u lokalu, browser pita DNS Resolver (obično server kod vašeg internet provajdera ili javni servisi poput Google-ovog 8.8.8.8).
- Hijerarhijska potraga: Ako Resolver ne zna odgovor, on kreće u lanac ispitivanja:
- Root serveri: Vrhovni imenik. Znaju gdje se nalaze vršne domene (.com, .org, .ba).
- TLD (Top Level Domain) serveri: Ako tražimo
vlada.gov.ba, root nas šalje na TLD server za.badomenu (kojom upravlja UTIC u BiH). TLD server nas dalje usmjerava na server zadužen za.gov.ba. - Autoritativni serveri: Konačna tačka. To je server same institucije koji
kaže: "Ja upravljam sa
vlada.gov.ba, i prava IP adresa koju tražite je195.222.43.12".
Rezultat: IP adresa se vraća klijentu i snima u lokalni keš za buduću upotrebu.
Šta to DNS zapravo "šapuće" vašem računaru?
U DNS imeniku postoje različite vrste zapisa (Records). Najčešći koje ćete sresti su:
- A Record (Address): Najbitniji zapis. Mapira ime domene direktno na IPv4 adresu
(npr.
93.184.216.34). - AAAA Record: Isto što i A record, ali za novije, duže IPv6 adrese.
- CNAME Record (Canonical Name): Alias ili "nadimak". On ne daje IP adresu, već kaže:
"Ova adresa je samo alias, potraži pravo ime na
server1.hosting.com". - MX Record (Mail Exchange): Određuje koji serveri su zaduženi za primanje e-mailova za tu domenu.
⏱️ TTL: Koliko dugo važi "istina"?
Svaki DNS zapis ima svoj TTL (Time To Live). To je broj izražen u sekundama koji kaže vašem računaru: "Ovu informaciju smiješ čuvati u svom kešu X sekundi. Nakon toga, moraš me ponovo pitati."
- Dug TTL (npr. 86400s / 24h): Ubrzava internet jer ima manje upita, ali ako promjenite IP adresu servera, korisnici će satima vidjeti "stari" sajt.
- Kratak TTL (npr. 60s): Omogućava skoro trenutne promjene servera, što je ključno kod velikih sistema koji često mijenjaju resurse.
🛠️ Praktični rad: Upravljanje DNS-om na Windows i Linux sistemima
Kada radite na razvoju web sajtova, često ćete morati ručno da provjerite ili "ispraznite" ove zapise.
1. Čišćenje DNS keša (Flush DNS)
Ako ste promjenili hosting, a vaš računar i dalje otvara stari sajt, uradite sljedeće:
Windows: Otvorite Command Prompt (Admin) i kucajte:
ipconfig /flushdns
Linux (Ubuntu/Debian): Linux često koristi systemd-resolved servis:
sudo resolvectl flush-caches
2. Provjera zapisa (nslookup)
Želite li znati koju IP adresu DNS vidi za neki sajt? Koristite alat nslookup:
nslookup google.com
Ovo će vam izlistati A i AAAA zapise za tu domenu.
3. "Sveti" Hosts fajl
Postoji fajl koji je "stariji" od bilo kog DNS-a. Ako u njega nešto upišete, vaš računar će to smatrati apsolutnom istinom i neće uopšte pitati internet za DNS.
- Lokacija Windows:
C:\Windows\System32\drivers\etc\hosts - Lokacija Linux:
/etc/hosts
Primjer upotrebe: Ako u ovaj fajl dodate liniju
127.0.0.1 www.facebook.com, vi ste upravo blokirali Facebook na svom računaru jer ste
mu rekli da se Facebook nalazi na vašoj lokalnoj adresi (127.0.0.1) gdje on zapravo ne
postoji.
📡 HTTP Protokol: Jezik Weba
Kada browser sazna IP adresu servera, on započinje komunikaciju. Jezik kojim klijent i server razgovaraju zove se HTTP (HyperText Transfer Protocol). To je set pravila koji definiše kako se poruke formatiraju i prenose.
Request - Response Ciklus
Sva komunikacija na webu radi na principu Pitanje (Request) - Odgovor (Response).
Detaljan prikaz strukture HTTP Zahtjeva i Odgovora
1. HTTP Request (Zahtjev)
Šalje ga browser prema serveru. Sadrži:
- Metoda: Šta želimo uraditi?
GET- Daj mi podatke (npr. otvaranje stranice).POST- Šaljem ti podatke (npr. logiranje, forma).PUT/DELETE- Ažuriranje ili brisanje (u API svijetu).
- URL: Koji resurs tražimo (npr.
/slike/logo.svg). - Headers (Zaglavlja): Dodatne informacije (npr. "Ja sam Chrome browser", "Prihvatam bosanski jezik").
- Body (Tijelo): Podaci koji se šalju (samo kod POST/PUT), npr. username i password.
2. HTTP Response (Odgovor)
Šalje ga server nazad browseru. Sadrži:
- Status Kod: Trocifreni broj koji govori da li je zahtjev uspio:
- 2xx (Uspjeh): npr.
200 OK- Sve je u redu, podaci su vraćeni. - 3xx (Preusmjeravanje): npr.
301 Moved Permanently- Stari portal je ugašen, preusmjeravam te na novi. - 4xx (Greška klijenta): "Ti si pogriješio".
-400 Bad Request- Neispravan format JMBG-a poslan u formi.
-401 Unauthorized- Niste prijavljeni na sistem.
-403 Forbidden- Prijavljeni ste, ali nemate pravo pristupa ovom predmetu.
-404 Not Found- Tražena stranica (ili dokument) ne postoji. - 5xx (Greška servera): "Sistem je pao". Često u
javnoj upravi tokom kritičnih rokova:
-500 Internal Server Error- Nešto je puklo u kodu servera ili baza podataka ne odgovara.
-502 Bad Gateway/503 Service Unavailable- Server je preopterećen (npr. previše korisnika podnosi prijave istovremeno i sistem ne može obraditi sve zahtjeve).
- 2xx (Uspjeh): npr.
- Headers: Tip sadržaja (HTML, slika, JSON), kolačići (cookies), sigurnosne politike (CORS), itd.
- Body: Sam sadržaj (HTML kod stranice, binarni podaci PDF dokumenta, JSON podaci iz API-ja, itd.).
🛠️ Praktični rad: Pregled zahtjeva (DevTools)
Kao inženjer ili tehničko lice, vi nećete nagađati šta se dešava. U bilo kojem browseru pritisnite F12 (ili desni klik -> Inspect) i otvorite Network tab. Osvježite stranicu i vidjet ćete popis svih HTTP zahtjeva uživo! Možete kliknuti na svaki da vidite tačne Headers-e, Status Kod i Payload (šta je poslano). Ovo je vaš glavni alat za dijagnostiku problema u podršci korisnicima.
🔒 HTTPS i Sigurnost
Običan HTTP šalje podatke kao "otvoreni tekst". Ako neko presretne vašu komunikaciju (npr. na javnom WiFi-u), može pročitati vaše lozinke. Zato koristimo HTTPS (S = Secure).
HTTP vs HTTPS: Kriptovani tunel štiti podatke
Posebno u javnoj upravi, slanje ličnih podataka građana (JMBG, poreski brojevi, zdravstveni podaci) preko običnog HTTP-a predstavlja katastrofalan sigurnosni rizik i kršenje zakona o zaštiti ličnih podataka. HTTPS koristi TLS/SSL certifikate da uspostavi kriptovani tunel između browsera građanina i državnog servera. Proces dogovaranja ključeva ("TLS Handshake") osigurava da čak i ako haker presretne podatke, vidjet će samo neraspoznatljive kompjuterske karaktere.
🏛️ PKI i Certifikaciona Tijela (CA)
Kako browser zna da je porezna-uprava.gov.ba zaista Porezna uprava, a ne neki napadač
koji se vješto predstavlja kao oni (Phishing)?
Koristi se sistem PKI (Public Key Infrastructure). Vaš browser vjeruje jedino certifikatima koje je izdalo provjereno, sigurnosno garantovano Certifikaciono Tijelo (CA - Certificate Authority). U državnom kontekstu, institucije poput IDDEEA (Agencija za identifikaciona dokumenta, evidenciju i razmjenu podataka BiH) često imaju ulogu upravljanja identitetima, državnim CA mehanizmima i PKI sistemima za izdavanje kvalifikovanih elektronskih potvrda (digitalni potpisi). Kada server portala e-Uprave prezentuje svoj certifikat, browser matematički provjerava digitalni potpis nadležnog CA. Ako je sve ispravno, prikazat će se zatvoren "katanac" pored mrežne adrese i veza se smatra pouzdanom.
✅ Rezime
1. Korisnik unosi URL.
2. Browser pita DNS za IP adresu.
3. Browser šalje HTTP GET Request na tu IP adresu.
4. Server prima zahtjev, pronalazi stranicu i šalje HTTP 200 OK
Response sa HTML-om.
5. Browser prima HTML i počinje ga renderovati (prikazivati), te po potrebi šalje
nove zahtjeve za slike, CSS i JS.