Uvod
U sledećim redovima, pozabavićemo se anatomijom web adresa i načinom na koji web browseri pristupaju serverima.
Skraćenica koja se vezuje za web adrese je URL (Uniform Resource Locator) i predstavlja jedinstvenu adresu internet stranice ili druge vrste dokumenta na određenom online serveru. Da bismo se upoznali sa strukturom web adresa, posmatraćemo detaljno sastavne delove URL-a, a drugi deo članka posvetićemo mehanizmu za pronalaženje konkretnog sadržaja koji je vezan za određeni URL.
Delovi URL-a
U svim primerima, koristićemo sledeću fiktivnu web adresu (URL):
https://www.autodelovi.rs/pretraga.php?proizvodjac=audi&model=audi+80
.... i "rastaviti" je na delove koje ćemo pažljivo analizirati.
Protokol
Protokol definiše osnovni način koji klijent (browser) komunicira sa serverom, u smislu formatiranja i primopredaje podataka između servera i klijenta. Poznatiji internet protokoli su:
- ftp - prenos datoteka
- http - prenos hiperteksta
- https - prenos hiperteksta uz korišćenje enkripcije (zaštita podataka)
- mailto - protokol za prenos hiperteksta koji koristi enkripciju
Jednostavno rečeno, struktura podataka koji se razmenjuju pri čitanju internet stranice (http ili https), slanje elektronske pošte (mailto) ili prostog preuzimanja dataoteka (ftp) je suštinski različita. Sa HTML-om ste do sada mogli da se upoznate na našim stranicama, FTP šalje datoteke u izvornom obliku, a protokol za slanje elektronske pošte je različit od oba prethodno navedena.
Protokol koji koristi sajt iz našeg primera je https (prenos hiperteksta uz korišćenje enkripcije).
Domen
U praktičnom smislu, mogli bismo reći da je domen deo URL-a koji, u očima većine korisnika interneta, predstavlja pravu adresu određenog sajta. Domen našeg fiktivnog sajta je:
www.autodelovi.rs
.... i sastoji se iz tri dela: dva obavezna (generički domen najvišeg nivoa i naziv domena) i jedan opcioni (poddomen).
Generički domen najvišeg nivoa (TLD - Top Level Domain)
Domen najvišeg nivoa označava (makar u teroriji) kategoriju sajta, njegovu namenu ili neki vid povezanosti sa određenom državom i njenim jezikom. Da bismo ovo bolje razumeli, pogledajmo neke od najpopularnijih TLD-ova:
- .com - internacionalni TL domen namenjen komercijalnim preduzećima
- .net - internacionalni TL domen namenjen mrežama povezanih sajtova
- .org - internacionalni TL domen nemanjen neprofitnim organizacijama
- .edu - internacionalni TL domen namenjen obrazovnim ustanovama
- .rs .it .fr - Nacionalni domeni koji impliciraju povezanost sadržaja sajta sa određenom državom/teritorijom, u smislu jezika koji se na sajtu koristi i usluga koje sajtovi nude. Primera radi, ako se TLD sajta turističke organizacije završava sa .rs, .it, ili .fr, u pitanju su sajtovi (prevashodno) namenjeni domaćim turistima iz (redom) Srbije, Italije ili Francuske
U praksi, sve ipak funkcioniše na dosta slobodniji način. Registracija TLD-ova .com, .net i .org je otvorena, to jest, dostupna i privatnim licima (ne samo registrovanim organizacijama), a sajtovi sa nacionalnim domenima su često internacionalnog karaktera. Budući da gore navedene odrednice nisu obavezujuće, reklo bi se da i nemaju neki preveliki značaj, ali srećom, u većini situaciji ipak ima "nekakvog reda" (poznatije organizacije koje drže do svog renomea najčešće se uklapaju u gore navedenu šemu, a ni privatna lica ne "iskaču" previše).
Sa druge strane, neka pravila i dalje važe (kao što i dolikuje). Za razliku od prethodno navedenih domena najvišeg nivoa (.com, .net i .org), TLD .edu nije dostupan "bilo kome", već samo registrovanim obrazovnim ustanovama, a TLD .co (koji se koristi u kombinaciji sa nacionalnim domenom, u smislu, .co.rs), dostupan je samo registrovanim organizacijama.
Ukratko: domen autodelovi.rs može zakupiti "bilo ko", dok je domen autodelovi.co.rs dostupan samo zvanično registrovanim organizacijama. Domen autodelovi.edu.rs deluje jako čudno, ali, ako bi zaista postojala akreditovana obrazovna ustanova sa ovim nazivom .... tehnički je izvodljivo (ne bi bilo loše da na ovom mestu ipak zaboravimo na Univerzitet AutoDelovi, da bismo mogli nesmetano da nastavimo sa člankom).
Naziv domena
Naziv (ime) domena je jedinstvena niska koja po kojoj se sajt prepoznaje (i razlikuje od ostalih sajtova). U našem primeru, naziv domena je "autodelovi".
U pitanju je specifičan naziv koji je povezan samo sa datim sajtom, za razliku od generičkih delova domena kao što su .com, .rs i slično, koji se mogu pojaviti (i pojavljuju se) u brojnim URL-ovima.
Poddomen
Poddomen je deo adrese koji po potrebi omogućava bolju organizaciju (dopadljivije i lakše pamtljive web adrese) i upućuje na određene delove sajta. Podrazumevani poddomen je www, a, u slučaju našeg sajta sa auto-delovima, mogli bismo uvesti i sledeće nivoe organizacije:
- www.autodelovi.rs - osnovna verzija sajta
- en.autodelovi.rs - verzija sajta na engleskom jeziku
- mobile.autodelovi.rs - verzija sajta za mobilne uređaje (ako bi takav nivo organizacije bio bolji od korišćenja tehnika responzivnog web dizajna)
- blog.autodelovi.rs - Blog sa člancima o izboru auto-delova, održavanju automobila i slično
Putanja
Putanja kao deo URL-a, predstavlja putanju koja vodi do traženog direktorijuma (foldera) na sereveru, ili datoteke, gledano u odnosu na koreni direktorijum servera (koji se obeležava kosom crtom "/").
Ako unesemo putanju ....
https://www.autodelovi.rs/blog/odrzavanje_guma.php
.... server će tražiti datoteku "odrzavanje_guma.php" unutar direktorijuma "blog" (koji se nalazi direktno unutar korenog direktorijuma servera).
Upit
Kao poslednji deo URL-a, web stranici se preko adrese može proslediti upit (naravno, upit je moguće proslediti, ali, nije zagarantovano da će stranica na upit odgovoriti na očekivani način). Upit počinje znakom "?", posle čega slede parametri.
Parametri upita
Parametri upita su parovi stringova koji se spajaju znakom "=" i, ako ih je više, međusobno razdvajaju znakom "&" (ampersend). Podsetimo se adrese sa početka članka:
https://www.autodelovi.rs/pretraga.php?proizvodjac=audi&model=audi+80
Parametri ove pretrage:
- proizvodjac=audi
- model=audi+80
.... spojeni su znakom "&" (ampersend). Svaki od dva parametra sadrži ključ ("proizvodjac" i "model") kao i vrednosti koje su povezane sa datim ključevima ("audi" i "audi 80"). Ovakav upit deluje "neprirodno", kao nešto što ne bi pisao čovek, već mašina i, ako ste to pomislili - niste se prevarili.
Upit kakav koristimo kao primer bio bi generisan automatski kada korisnik sajta u padajućem meniju sa proizvođačima izabere "Audi", a u padajućem meniju sa modelima automobila "Audi 80" i potom prosledi serveru zahtev za obradu podataka. Takođe, može delovati malo neprirodno i to što navodimo i proizvođača i model u ovakvoj situaciji (naizgled deluje da je oznaka modela dovoljna informacija), ali, recimo da bi pretraga iz primera bila način da izaberemo samo originalne delove koje proizvodi fabrika (i time isključimo licencirane delove ostalih proizvođača).
IP i DNS - Pristup sadržajima na internetu
Na kraju, razmotrićemo šta se dešava kada u adresnu liniju browsera unesemo određeni URL (recimo, adresu kao što je "www.autodelovi.rs"), odnosno, kako zapravo funkcionie mehanizam koji nas vodi do sajta?
Pre svega, napomenimo da Internet serveri ne koriste adrese u obliku URL-a, već numeričke IP (Internet Protocol) adrese, specifično formatirane grupe cifara razdvojene tačkama (četiri grupe po tri cifre). Ako je recimo sledeća IP adresa ....
125.117.21.314
.... adresa sajta autodelovi.rs, pristup sajtu je (naravno) moguć i unosom adrese u ovom obliku (ukucamo 125.117.21.314 u adresno polje browsera i sajt se otvara).
Iz perspektive programera, IP adrese ponekead veoma dobro dođu i nekako je zabavno koristiti ih, ali, u većini svakodnevnih situacija takav pristup nije ni iz daleka praktičan. Ako se dvoumite, probajte da zamislite reklamu koja nas ubeđuje da se o velikoj vikend akciji u salonu tepiha informišemo preko adrese 114.25.361.249, umesto na: popusti.salontepiha.com (da .... ni nama ne uspeva).
Budući dakle da mi sami (najčešće) za pristup sajtovima ne unosimo IP adrese već URL-ove i da naš računar nije opremljen registrom koji je u stanju da uparuje desetine miliona URL-ova i IP adresa, razume se da mora postojati nekakav posrednički mehanizam.
Taj mehanizam zove se DNS - Domain Name System i (uprošćeno), u pitanju je sistem specijalizovanih, međusobno povezanih servera (DNS - Domain Name Server) čija je svrha prevođenje adresa koje ljudi razumeju (www.autodelovi.rs) u adrese koje računari razumeju (125.117.21.314).
Prosto rečeno - u pitanju je svojevrstan "telefonski imenik" Interneta, čiji bismo princip funkcionisanja (u kratkim crtama) mogli opisati na sledeći način:
- korisnik u adresnu liniju unosi adresu - recimo, "autodelovi.rs"
- browser dodaje prefiks "http://www." (koji je "zaboravni" korisnik izostavio)
- DNS-u se prosleđuje puna adresa - "http://www.autodelovi.rs"
- DNS proverava da li domen www.autodelovi.rs postoji (recimo da u ovom slučaju postoji; ako ne postoji jednostavno se vrati poruka o grešci)
- DNS pronalazi domen www.autodelovi.rs, pri čemu je ustanovio da server korist https protokol (umesto http-a)
- DNS povezuje browser klijenta sa IP adresom 125.117.21.314
- započinje komunikacija putem http protokola između klijenta i servera 125.117.21.314 (koja podrazumevainterpretaciju datoteke index.html ili index.php u korenom direktorijumu servera, posle čega će rezultat biti poslat korisniku u vidu HTML-a).
Zaključak
Komplikovanijim odlikama DNS sistema ovoga puta se nećemo baviti (naravno, ne isključujemo mogućnost da to uradimo u nekom kasnijem trenutku), ali se iskreno nadamo da smo ovim člankom uspeli da Vam pomognemo u odgonetanju bar nekih od "misterija" Internet saobraćaja.
Uskoro ćemo se pozabaviti i načinom funkcionisanja HTTP protokola (u jednom od sledećih članaka), a do tada - uživajte u ostalim člancima na sajtu 185.119.88.133.