Kako radi internet: IP adrese, DNS, domeni i URL

Lekcija 2 od 8 · Osnove weba

Kako pregledač od reči svetprogramiranja.com stigne do pravog računara negde u svetu? U ovoj lekciji su IP adrese, paketi, DNS, domeni i delovi URL adrese – i šta se tačno dešava od trenutka kada pritisneš Enter do prikaza stranice.

Pre nego što počneš: potrebno predznanje – uvod u web.
Kako da učiš: svaki primer isprobaj u pregledaču ili komandnoj liniji i uradi vežbe iz lekcije. Primeri su u HTML-u, JavaScript-u i Python-u; za većinu je dovoljan pregledač, a za Python primere instaliran Python 3.

IP adrese i paketi

Svaki uređaj na internetu ima IP adresu – broj po kome se pronalazi, kao kućna adresa. Postoje dve verzije:

VerzijaIzgledKoliko adresa
IPv4216.24.57.1 – četiri broja od 0 do 255oko 4,3 milijarde (premalo za sve uređaje)
IPv62001:db8:85a3::8a2e:370:7334 – heksadekadni zapispraktično neograničeno (2128)

Podaci ne putuju u jednom komadu, nego se dele na male pakete. Svaki paket ima adresu pošiljaoca i primaoca i može ići drugim putem kroz mrežu (preko rutera); na odredištu se ponovo slažu po redu. O tome brine protokol TCP, a o adresiranju IP – zajedno TCP/IP.

U kućnoj mreži uređaji imaju lokalne adrese (npr. 192.168.1.50), a ruter ih predstavlja internetu jednom javnom adresom. Adresa 127.0.0.1 (ili ime localhost) uvek označava sopstveni računar.

DNS: imenik interneta

Ljudi pamte imena, a računari brojeve. DNS (Domain Name System) prevodi ime domena u IP adresu:

svetprogramiranja.com  ──DNS──▶  216.24.57.1
  1. Pregledač prvo pogleda da li je adresu već skoro tražio (keš).
  2. Ako nije, pita DNS server (obično od internet provajdera ili javni, kao 1.1.1.1 i 8.8.8.8).
  3. DNS server, ako ne zna odgovor, pita redom: korenske servere → server za .com → server zadužen za svetprogramiranja.com.
  4. Odgovor (IP adresa) se pamti neko vreme da sledeći put ide brže.

U DNS-u se čuvaju i drugi zapisi: A (IP adresa sajta), CNAME (drugo ime), MX (gde stiže pošta za domen), TXT (potvrde i bezbednosna podešavanja).

Probaj: u komandnoj liniji (Windows: cmd) ukucaj nslookup svetprogramiranja.com – dobićeš IP adresu sajta. Komanda ping meri koliko traje put paketa do servera i nazad, a tracert (Linux/Mac: traceroute) pokazuje kroz koje rutere paket prolazi.

Domen i hosting

PojamŠta jePrimer
domenime sajta koje se zakupljuje (obično na godinu dana) kod registrasvetprogramiranja.com
domen najvišeg nivoa (TLD)poslednji deo imena.com, .rs, .срб, .org, .edu
poddomendeo ispred glavnog imena, bira ga vlasnik domenawww.svetprogramiranja.com, takprog.petlja.org
hostingserver na kome „žive“ fajlovi i program sajtaRender, Netlify, GitHub Pages, školski server

Domen i hosting su dve odvojene stvari: domen kaže kako se sajt zove, a DNS zapis povezuje to ime sa serverom (hostingom) na kome se sajt nalazi.

Delovi URL adrese

https://www.primer.rs:443/lekcije/petlje?razred=7&strana=2#zadaci
└─┬─┘   └─────┬─────┘└┬─┘└──────┬──────┘└───────┬────────┘└──┬──┘
  │           │       │         │               │            │
protokol    domen   port     putanja        parametri      sidro
DeoZnačenje
httpsprotokol – kako se komunicira (https je šifrovani http)
www.primer.rsdomen (ime servera)
:443port – „vrata“ servera; za https je podrazumevano 443, za http 80, pa se obično ne piše
/lekcije/petljeputanja – koja stranica ili fajl na serveru
?razred=7&strana=2parametri upita – dodatni podaci za server, parovi ime=vrednost odvojeni sa &
#zadacisidro – deo stranice na koji pregledač skroluje (ne šalje se serveru)

Primer sa ovog sajta: /binarna_pretraga#program otvara lekciju i skroluje do odeljka „Program“.

Ceo put: od Enter-a do stranice

KorakŠta se dešavaLekcija
1pregledač rastavi URL na deloveova lekcija
2DNS: ime domena → IP adresaova lekcija
3TCP veza sa serverom (port 443)ova lekcija
4TLS: dogovor o šifrovanju, provera sertifikata (katanac u adresnoj liniji)Bezbednost
5HTTP zahtev GET /putanjaHTTP protokol
6server obradi zahtev i vrati odgovor sa HTML-omWeb server
7pregledač čita HTML, šalje nove zahteve za CSS, JS i slikeHTTP protokol
8iscrtavanje stranice i izvršavanje JavaScript-aFrontend i backend
Česte greške i saveti
  • IP adresa je „broj“ uređaja, domen je „ime“ – DNS ih povezuje.
  • localhost i 127.0.0.1 su uvek tvoj računar – koristiće ti kada pokreneš sopstveni server.
  • Sidro (#…) ostaje u pregledaču, a parametri (?…) idu serveru.

Proveri znanje

Otvori kviz

Kako radi internet

1. Čemu služi DNS?




2. Šta označava adresa 127.0.0.1?




3. U adresi https://primer.rs/zadaci?strana=3#resenje, šta je „strana=3“?




4. Koji port se podrazumeva za HTTPS?