MODUL 1 - LEKCIJA 1

Osnove Weba i HTTP Protokol

Razumijevanje kako web funkcioniše: od Browsera do Servera, DNS-a i HTTP komunikacije.

⏱️ Trajanje: ~45 min 📚 Nivo: Početni 🎯 Koncepti: HTTP, DNS, IP, Browser

🌐 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

🏛️ 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.ba dostupan 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:

DNS Resolution Process

Kako Browser pronalazi IP adresu servera putem DNS-a

  1. 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.
  2. 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).
  3. 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 .ba domenu (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 je 195.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:

⏱️ 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."

🛠️ 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.

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).

HTTP Request Response Cycle

Detaljan prikaz strukture HTTP Zahtjeva i Odgovora

1. HTTP Request (Zahtjev)

Šalje ga browser prema serveru. Sadrži:

2. HTTP Response (Odgovor)

Šalje ga server nazad browseru. Sadrži:

🛠️ 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).

HTTPS Encryption

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.