ISPRI^A]U VAM JEDNU PRI^ICU. NEDAVNO SAM IMAO PRIVILEGIJU DA UZIMAM
~asove gitare od mog omiljenog muzi~ara. U toku na{eg prvog ~asa, razgovarali
smo o mom predznanju i mojim ciljevima. U~itelj je tvrdio da je najbolji na~in da
postanem najbolji muzi~ar ako po~nem da se pona{am kao da }u ceo `ivot biti
profesionalni muzi~ar, a to zna~i da moramo da krenemo od samog po~etka.
Sada imam vi{e znanja iz muzi~ke teorije nego {to bi to bilo ko drugi istrpeo.
Profesionalno sam muzicirao na razli~itim instrumentima od moje srednje {kole.
Bez obzira na sve, prou~avanje stvari od samog po~etka, na ~emu je insistirao
moj u~itelj, bilo mi je od ogromne pomo}i. Stvari sam prolazio brzo, ali i sada
prihvatam neke detalje kao da su novi ili kao da sam ih zaboravio.
Dakle, mogu vam re}i, da biste postali najbolji pisac Web aplikacija i korisnik
UltraDeva morate da u~ite kao da planirate da postanete profesionalac, a to
podrazumeva savladavanje najosnovnijih stvari. Ako ste iskusni programer a ovu
knjigu ste kupili samo da biste savladali detalje vezane za UltraDev, kroz ovaj
deo knjige }ete brzo protr~ati, mada je sasvim mogu}e da }ete pokupiti i neke
korisne sitnice. Ako ste novi u razvijanju Web aplikacija, ne o~ekujte da }ete
postati odli~an programer bez solidnog razumevanja najosnovnijih detalja.
Nikakav razvojni alat ne mo`e da bude zamena za dobru podlogu koju ~ini
razumevanje rada Interneta i protokola koji ga ~ine. Naravno, uvek mo`ete da
pre|ete na interesantnije stvari, ali za posao kojim nameravate da se bavite
mnogo }e vam zna~iti ako „izgubite“ nekoliko minuta prelistavaju}i i ovu materiju.
Internet
Pretpostavljam da postoje trenuci kada nemate odgovore na sva pitanja...
Recimo, kada se probudite u 3 ujutro razmi{ljaju}i o re~ima one pesme od Styxa,
a odgovora niotkuda. Me|utim, ono {to je jo{ te`e, jeste zapamtiti takve
trenutke. Nekih pet ili {est godina unazad, malo poznat vladin istra`iva~ki pro-
Kako funcioni{1e Web
4 Po~etak rada sa UltraDevom
jekat postajao je sve popularniji kako je razvoj odmicao – razvijao se jedan od
najkorisnijih softvera koji }e javnosti ikada biti ponu|en besplatno.
U celoj ljudskoj istoriji bilo je svega nekoliko revolucija koje su trajno izmenile
na~in `ivljenja. Ali, ni jedna nije izvedena tako brzo, sveprisutno i non{alantno
kao {to je to Internet revolucija. Internet je uticao na svaki deli} na{e kulture
na vrlo ozbiljan na~in. U ku}i, {koli, na poslu – na{i `ivoti su postali druga~iji,
ako ne i bolji, kako smo se preme{tali u informati~ku eru.
Re~eno je da je informacija mo}, a ako je to ta~no, tada smo mi sna`niji nego
{to smo ikada bili. Od tematike slede}e epizode „Nedeljnog kuvara“, preko
obja{njenja popunjavanja poreske prijave u pet-do-dvanaest, pa sve do kompletnog
teksta nekog novog zakona u pripremi, gotovo da ne postoji ni{ta {to ne
mo`ete da na|ete uz samo malo napora ako imate pristup velikoj svetskoj kompjuterskoj
mre`i World Wide Webu, WWW. Interesantno je da je jedna od
najzanimljivijih upotreba tehnologije dvadeset prvog veka upravo ispunjenje
ideala koji su stari stotinama godina: govor i protok ideja nikada nisu bili jeftiniji.
Na{i poslovi su se promenili. Omiljena knji`ara vi{e ne mora da bude na
kraju ulice – ~esto se nalazi sa druge strane URL-a (URL, Uniform Resource
Locator, jednozna~na lokacija resursa) kao {to je www.amazon.com ili
www.bn.com. Ljudi koji nikada ne bi imali {ansu da se takmi~e sa „pravim
velikim zverkama“ sada su na istoj poziciji sa njima i imaju veliku {ansu na tr`i{u
i u prodaji svojih proizvoda.
Sada mo`emo i da komuniciramo sa drugim ljudima kao nikada do sada. Bez
obzira na to da li se radi o roditeljima i njihovoj deci u {kolama {irom sveta, o
predstavni{tvima i njihovim mati~nim firmama ili o zadovoljnim (ili nezadovoljnim)
mu{terijama i prodavcima, sada smo u mnogo ve}em kontaktu sa svetom
oko sebe. Do ju~e rukom pisano pismo familiji danas je pametno formatizovana
elektronska prezentacija sve sa slikama unu~i}a – isporu~ena trenutno i bez
po{tanske markice. Internet je u~inio da svet postane mnogo manji nego {to je
to mogao da zamisli ~ak i gospodin Disney.
Me|utim, kao i kod svih medija snage sli~ne Internetu, oni koji izaberu da
ga snabdevaju odre|enim sadr`ajem snose i ozbiljnu odgovornost. Iako je Web
prepun sajtova, stranica i re~i od nesumnjive i izuzetne koristi, on je tako|e pun
i lo{eg dizajna, lo{ih programa i sadr`aja sumnjive vrednosti. Ova knjiga ima cilj
da vam pomogne da nau~ite kako da koristite jedan od najsna`nijih alata za Web
dizajniranje koji je trenutno na raspolaganju, ~ime }ete biti u mogu}nosti da pozitivno
doprinesete kvalitetu Weba.
Web je sagra|en oko nekoliko klju~nih koncepcija i protokola. Svi su oni u
me|uzavisnosti, iako slu`e sasvim razli~itim svrhama. Bez bar jednog od njih,
Internet ne bi bio onakav kakvog ga poznajemo. Na vama je da se dobro upoznate
sa ovim koncepcijama i da nau~ite kako se one uklapaju u razvojni ciklus
programiranja za Web i korisnikovo iskustvo. Koncepcije, odnosno protokoli o
kojima je re~ su:
n protokol za prenos datoteka (File Transfer Protocol, FTP),
n svetska mre`a (World Wide Web, WWW),
n TCP/IP (kontrolni protokol za prenos i Internet protokol),
n protokol za prenos hiperteksta (Hypertext Transfer Protocol, HTTP) i
n simboli~ki jezik za opis hiperteksta (Hypertext Markup Language, HTML).
Protokol za prenos datoteka
Protokol za prenos datoteka (File Transfer Protocol, FTP) jedan je od najstarijih
metoda za kori{}enje Interneta. Njegova namena je jasno definisana u samom
nazivu: koristi se za prenos datoteka sa jednog mesta na drugo, sa jednog kompjutera
na drugi putem distribuirane mre`e. U po~etku je Internet bio namenjen
razmeni podataka izme|u istra`iva~a i nau~nih radnika. Oni su koristili FTP da
bi jedni drugima prenosili cele fajlove informacija. Na primer, istra`iva~ je
mogao da prikuplja podatke o nekom nizu eksperimenata. Nakon toga je mogao
da ih putem FTP-a prenese na neko mesto sa kojeg su njegove kolege mogle da
preuzmu ove podatke, komentari{u ih i dodaju neke svoje nalaze ili rezultate.
Danas je FTP jo{ uvek jedan od naj~e{}e kori{}enih aspekata Interneta. Ako
ste ikada preuzimali neki program u javnom vlasni{tvu ili kupili nadogradnju
programa Internetom, verovatno ste pruzimanje izvodili upravo FTP-om. Kao
neko ko se bavi razvojem Web aplikacija, bi}ete u situaciji da koristite ovaj protokol
da biste na udaljeni server postavili sajtove aplikacije koju razvijate. Ova
pri~a }e imati vi{e smisla kada jednom nau~ite na~in na koji je konstruisan Web.
Kao sredstvo za razmenu informacija, FTP je zamenjen udobnijim, dinami~
nijim i metodom koji ba{ odgovara novim trendovima: World Wide Webom.
Svetska mre`a (World Wide Web)
Ba{ kao i FTP, WWW je prili~no dobro obja{njen samim nazivom. To je stvarno
mre`a kompjutera na svetskom nivou, a na~in na koji je konstruisana mo`da
najbolje mo`e da se objasni kao mre`a informacija koja dodiruje svoju okolinu
kao i atomi koji pro`imaju svekoliku materiju. Mo`ete da krenete sa surfovanjem
na va{em omiljenom sajtu, a nakon 30 minuta vi{e niko ne}e mo}i ni da pretpostavi
gde }ete zavr{iti.
Web nije isto {to i FTP, naravno, i funkcioni{e sasvim razli~ito. Dok je prvenstvena
namena FTP-a da omogu}i prenos celih datoteka sa podacima, svrha
Weba jeste da omogu}i pregledavanje sadr`aja nekih datoteka bez potrebe da se
one prenesu na va{ kompjuter. Pomo}u protokola za prenos hipertekstualnih
datoteka (Hypertext Transfer Protocol, HTTP) i jezika koji ga opisuje (Hypertext
Markup Language, HTML) Web je postao infrastruktura koja omogu}ava pregledavanje
teksta, slika, crte`a, pa ~ak i gledanje filmova i slu{anje zvuka putem
programa koji se nazivaju brauzeri (browser).
Verovatno ste se ve} upoznali sa nekima od brauzera, kao {to je Microsoftov
Internet Explorer ili Netscapeov Navigator. Ovi programi predstavljaju na~in na
koji korisnik mo`e da pri|e sadr`aju koji mu je dostupan na Webu. Trenutno
raspolo`iva generacija brauzera neverovatni je napredak u odnosu na njihove
prethodnike koji su bili tekstualno orijentisani. Sjaj i {arenilo koje oni
Kako funkcioni{e Web 5
6 Po~etak rada sa UltraDevom
omogu}avaju da korisnik oseti svakako su jedan od glavnih razloga za ogromni
rast popularnosti Interneta i World Wide Weba.
Da biste mogli da razvijete neki sadr`aj koji }e biti va{ li~ni }o{ak na Webu,
potrebno je da budete upoznati sa konceptima koji su mu pretpostavljeni,
odnosno stoje u pozadini Weba i omogu}avaju mu da funkcioni{e. Ovo uklju~uje
razumevanje na~ina na koji ogromna koli~ina kompjutera i programa, koji u
stvari sa~injavaju Internet, komuniciraju izme|u sebe, kao i razumevanje jezika
Weba – HTML.
TCP/IP
Klju~na komponenta infrastrukture Interneta jesu komunikacioni protokoli koji
upravljaju njegovim radom. Radi se u stvari o grupi protokola – TCP/IP nekoliko
povezanih metoda koji upravljaju pakovanjem podataka i njihovim slanjem kroz
`ice koje povezuju mre`u kompjutera u celom svetu. Osnovni elementi ovog protokola
su, u stvari, protokol za upravljanje prenosom (Transmission Control
Protocol, TCP) i Internet protokol (Internet Protocol, IP).
Internet protokol
Iako IP dolazi u nazivu posle TCP, upravo on je su{tina koja ~ini da Internet
funkcioni{e. Verovatno ste ~uli za pojam IP adresa, onaj niz brojeva odvojen
ta~kama koji se dodeljuje svakom kompjuteru i domenu na mre`i (recimo,
208.43.451.78). Internet protokol koristi ovu numeri~ku kombinaciju da bi
definisao putanju koju treba da pre|e kroz rutere i host-kompjutere da bi
Internet mogao da do|e do destinacije koja se tra`i.
Kada ostvarite vezu sa kompjuterom negde na Webu, vi se, u stvari, spajate
sa nekoliko drugih kompjutera i rutera koji prosle|uju va{ zahtev na najefikasniji
na~in koji mogu da prona|u, a to se sve de{ava u vremenima koja se mere
milisekundama. Ako vas zanima da vidite kako se izvodi ovo rutiranje, mo`ete
to da izvedete komandom tracert (trace route, trasiranje putanje) iz komandnog
prompta na va{em kompjuteru – vide}ete konekcije ili skokove (hops) koje va{
ra~unar izvodi na putu ka odredi{tu koje ste mu zadali (pogledajte sliku 1-1).
Sada, ako pretpostavimo da ovako radi Internet, tj. da se svaki zahtev
prosle|uje kroz nekoliko ta~aka, mo`ete samo da pretpostavite {ta se de{ava
kada se preuzima veliki Web sajt ili, recimo, 15 MB programa u javnom vlasni{
tvu sa nekog sajta. Bez IP protokola bilo bi neophodno da se ceo fajl kopira u
svakom ~voru na svom putu do ciljnog ra~unara. To bi zna~ilo pravljenje i do 30,
pa i vi{e kopija istog fajla, {to zavisi od va{e lokacija i lokacije `eljenog fajla.
Zahvaljuju}i IP protokolu, va{ zahtev, kao i odgovor od kompjutera od kojeg
ne{to tra`ite, mo`e da se podeli u male pakete sa podacima koji mogu lako da
putuju mre`om, pri ~emu svaki od njih tra`i svoj najbolji put.
Slika 1-1
Pozivom komande tracert sa parametrom www.basic-ultradev.com dobija se nekoliko
ta~aka kroz koje ra~unar prolazi da bi do{ao do ove adrese.
PRIMEDBA
Mnoge stvari mogu da uti~u na oblik putanje kojom prolaze paketi dok putuju
Internetom, uklju~uju}i i razna uska grla i prekide na linijama. Sposobnost IP protokola
da dinami~ki preusmerava (rutira) putanju u skladu sa takvim problemima jeste
klju~ni faktor stabilnosti ovakve vrste distribuirane mre`e.
Zamislite da 12 va{ih prijatelja i vi treba zajedno da odgledate neki film u
bioskopu na sasvim drugom kraju grada. Pod uslovom da niko od vas nema autobus,
verovatno }ete se podeliti u tri automobila i krenuti ka bioskopu. Mo`da
neki od voza~a voli da vozi autoputem, drugi poznaje sjajne „pre~ice“, dok tre}i
nema dovoljno sitnih para za putarinu i zato ide nekim normalnim putem. Tri
automobila voze razli~itim putevima do istog cilja i svaki se mo`e na putu susresti
sa razli~itim stvarima koje ga mogu ubrzati (recimo, nema gu`ve na naplatnoj
rampi) ili usporiti („pre~ica“ koja to ba{ i nije...). Iako su sva kola krenula
prakti~no u isto vreme i jedna iza drugih, niko ne mo`e da garantuje u kom }e
se poretku i kada pojaviti ispred bioskopa. Neka kola mo`da uop{te i ne stignu.
Da bismo ideju bolje pojasnili, pretpostavimo da ste naru~ili knjigu od poznatog
izdava~a (recimo, Barnes and Noble) i, umesto da vam celu knjigu
isporu~e u jednom komadu, oni vam po{alju pojedina~ne stranice i to bez
numeracije strana i sve to preko razli~itih po{tanskih slu`bi. Kada dobijete, i ako
dobijete sve stranice (a kako i da znate jeste li dobili sve stranice kad nisu
numerisane), dobro }ete se oznojiti dok sve to ne dovedete u neko upotrebljivo
stanje.
Ovakva situacija je prili~no bliska realnosti – otprilike se tako ne{to de{ava i
sa fajlom koji se mre`om prenosi samo protokolom IP. Zbog toga IP protokolu
treba neka pomo} da bi sve stvari zavr{ile na mestu kojem pripadaju. Ovakva
Kako funkcioni{e Web 7
8 Po~etak rada sa UltraDevom
vrsta pomo}i dolazi od protokola za upravljanje prenosom – Transmission
Control Protocolom (TCP).
Transmission Control Protocol
Protokol za upravljanje prenosom (Transmission Control Protocol, TCP) mogao
bi da li~i na veliku gomilu koverata koje }e otpravnik po{te u firmi Barnes and
Noble iskoristiti da bi vam poslao sve stranice naru~ene knjige. Svaki koverat
ima svoj redni broj i broj ukupno poslatih koverata za jednu po{iljku – recimo
koverta broj 36 od ukupno 1008. Na svakoj koverti ~ak mo`e ukratko da pi{e {ta
se u njoj nalazi, a to tako|e mo`e da vam pomogne da proverite jeste li dobili
pravu po{tu. Na ovakav na~in, kada primite sve koverte mo`ete da ih slo`ite po
redu i proverite da li ste primili sve {to je po{iljalac hteo da vam po{alje. Tek tada
mo`ete da pozovete Barnes and Noble i da se izgalamite na njih {to su vam
knjigu poslali na ovako glupav na~in.
Bilo kako bilo, ba{ ovako to mora da se radi na Webu. Svaki paket koji se
kreira protokolom IP, pakuje se, numeri{e i ozna~ava na takav na~in da kompjuter
koji primi paket zna {ta da radi s njim. Ako prijemni kompjuter propusti
neki paket, on zna da treba da ga zahteva ponovo od kompjutera-po{iljaoca. TCP
informacija pokazuje {ta paket treba da sadr`i i pomo}u nje prijemni kompjuter
mo`e da zna da li je primljena informacija neo{te}ena.
Zajedno, ova dva protokola unutar TCP/IP ~ine komunikacijsku bazu na
kojoj je sagra|en Internet. Me|utim, u stvarnosti, TCP/IP mo`e samo da rukovodi
vezom izme|u kompjutera preko koje se prenose zahtevi i odgovori. Stvarne
informacije nosi protokol za prenos hiperteksta (Hypertext Transfer Protocol,
HTTP).
Hypertext Transfer Protocol
Postoje u osnovi ~etiri procesa u svakom prenosu podataka preko mre`e tipa klijent/
server ({to Internet u su{tini i jeste). Prvi i poslednji korak jesu uspostavljanje
i raskidanje veze izme|u dva kompjutera u lancu komunikacije i njima
rukovodi TCP/IP. Izme|u ova dva procesa nalazi se posao koji obavlja HTTP
(pogledajte sliku 1-2).
Verovatno ste primetili ovo „http“ na po~etku ve}ine Web adresa. U stvari,
ve}ina brauzera sada podrazumeva da }ete koristiti HTTP protokol kada unesete
adresu na Webu, tako da forma tipa http://neka_adresa vi{e i nije striktno
potrebna. Me|utim, strogo posmatrano, to je ba{ ono {to brauzer generi{e kada
{alje zahtev na mre`u.
PRIMEDBA
Ve}ina brauzera je sposobna da {alje zahteve tipa FTP i zahteve za news servis (servis
za podr{ku interesnih grupa). Ako je potreban neki od ovih zahteva, tada on mora da
se specificira, ina~e }e brauzeri pretpostaviti da se zahteva HTTP.
Kada je veza uspostavljena, {alje se zahtev za podacima u obliku adrese.
Adresa mo`e da bude u IP obliku ili u obliku potpuno definisanog naziva domena,
kao {to je recimo „http://www.basic-ultradev.com/“. Ovakav zahtev se rutira
putem TCP/IP-a do ciljnog kompjutera koji mo`e da udovolji zahtevu i odgovor
prosledi nazad putem HTTP-a do kompjutera koji je tra`io podatke. Kada
odgovor stigne, TCP/IP protokol ponovo poma`e u sklapanju paketa sa informacijama
tako da one mogu da se upotrebe ili prika`u na monitoru.
Slika 1-2
Koraci koji su uklju~eni u komunikaciju tipa klijent/server.
Kako }e odgovor da se upotrebi kada do|e do kompjutera koji ga je zahtevao
zavisi od vrste informacija koje su prosle|ene. Za ovu diskusiju se
podrazumeva da se zahteva sadr`aj koji ~ini ogroman deo Weba – sadr`aj tipa
HTML.
Hypertext Markup Language
Simboli~ki jezik hiperteksta (Hypertext Markup Language, HTML) je osnova
svetske mre`e WWW. On predstavlja skup oznaka (tagova) koje opisuju klijentovom
brauzeru kako da prika`e informacije, {to i jeste osnovna svrha Weba –
prikazivanje fajlova sa informacijama.
Najraniji HTML dokumenti bili su obi~an tekst. Vrlo ~esto su to bili tekstovi
nau~nih ili istra`iva~kih projekata, i bio je bitan na~in na koji su bili formatizovani.
HTML obezbe|uje hijerarhiju organizovanja i prikaza informacija i na taj
na~in se on posmatra u obliku koji nagla{ava strukturu a ne dizajn informacija.
To je ostvareno upravo tagovima koji ozna~avaju deo sirovog teksta obja{njavaju}
i brauzeru kako da interpretira tako ozna~ene delove.
Na primer, mo`da }ete po`eleti da prika`ete obi~an tekst sa slike 1-3 tako da
va{e kolege nau~nici mogu da vas „iskidaju“ {to ne po{tujete standardne smernice
za istra`ivanje.
Me|utim, ovakav jednostavan tekst ne dozvoljava da organizujete va{
sadr`aj na na~in koji }e ostaviti maksimalni utisak na va{e kolege i staviti im do
znanja da vi stvarno znate kako da napi{ete zaista dobar izve{taj. HTML dozvoljava
da direktno u tekst unesete neke indikatore, kao {to je to prikazano u
upravlja uspostavljanjem veze
HTTP zahtev
HTTP odgovor
upravlja raskidanjem veze
klijent server
TCP/IP
TCP/IP
Kako funkcioni{e Web 9
10 Po~etak rada sa UltraDevom
slede}em primeru. Ovi indikatori }e brauzeru na drugoj strani re}i kako da ta~no
prika`e tako markirani tekst:
<head>
<body>
<h1>This is my research<br>
</h1>
<h2>Topic One<br>
</h2>
<p> This is what I found when I investigated topic one.
I found that all other scientists are idiots<br>
and I should be rich for the finding in Topic Two.</p>
<h2> Topic Two<br>
</h2>
<p> Topic two should really make me rich. It is where
I discover a way to convince people that a tax cut means
they get to keep more of their own money.<br>
</p>
<h2> Summary<br>
</h2>
<p> In summary, all other scientists are idiots. I should
be rich.</p>
<p> Thank You </p>
</body>
</html>
Ove indikatore krajnji korisnik ne vidi. On vidi samo krajnji proizvod, onako
kao {to je prikazano na slici 1-4, kao rezultat brauzerove obrade instrukcija.
Jedna od mo}nih karakteristika HTML-a jeste sposobnost kreiranja i
izvr{avanja hiperlinkova. Hiperlinkovi su komande ugra|ene u samom kontekstu
koje omogu}avaju da se korisnik premesti na neki drugi materijal jednostavnim
klikom mi{em. Na primer, pretpostavimo da va{ dokument raspravlja o
materijalu koji je nastao uz pomo} nekih tekstova drugih autora ~iji su dokumenti
tako|e na raspolaganju na Internetu, na njihovim li~nim sajtovima.
Mogu}e je da u va{ dokument ubacite deo takvog teksta koji }e biti referenca
(pokaziva~) na ceo originalni tekst – na taj na~in posetilac va{eg sajta mo`e
klikom mi{em da se premesti na originalni tekst i proveri kako ste ga vi interpretirali
i da li ste ga ispravno pro{irili. Ovakva isprepletena struktura je dovela
do kovanice World Wide Web – svetska mre`a. Web je stvarno mre`a povezanih
informacija ra{irena po celom svetu.
Slika 1-3
Primer jednostavnog teksta kako ga vidi brauzer.
Slika 1-4
Primer jednostavnog teksta nakon uno{enja nekih HTML tagova.
Kako funkcioni{e Web 11
12 Po~etak rada sa UltraDevom
Web sajt
Sve {to je obja{njeno do sada predstavljaju komponente onoga o ~emu stvarno
govori ova knjiga, a to je Web sajt. Ako ste shvatili jedan HTML dokument, Web
sajt mo`ete da posmatrate kao kolekciju takvih dokumenata, {to ~ini povezanu
mre`u nekih informacija. Ono {to je ceo Web na {irokom planu, to je Web sajt u
svom malom univerzumu.
Kada imate stvarno veliku koli~inu informacija koje je potrebno prikazati,
postoji nekoliko razli~itih pristupa re{enju ovakvog problema. Verovali ili ne,
neki ljudi stvarno stave sve informacije u jedan stra{no dug dokument koji se
beskona~no skroluje na dole. Iako su verovatno rekli u takvom dokumentu sve
{to su imali da ka`u, postoje i mnogo prakti~niji pristupi.
Web sajt se formira kada na jednom mestu skupite kolekciju HTML dokumenata
koji su u odre|enoj vezi i treba da se prika`u zajedno. Organizovanjem
ovakvog sadr`aja i obezbe|enjem logi~ke navigacije kroz njega, pretvarate pojedina~
ne dokumente u sajt na kojem korisnik mo`e da prona|e i iskoristi informaciju
koja mu je potrebna. Postoje tri uobi~ajena {ablona za takve sajtove.
Prvi je tip sadr`aja – model koji u prednjem planu ka korisniku obezbe|uje
interfejs u kojem se nalazi katalog materijala na sajtu, prakti~no sadr`aj sajta. Na
primer, ako imate knjigu ili veliki izve{taj koji su podeljeni na poglavlja, mo`ete
da postavite stranicu sa sadr`ajem po poglavljima sa linkovima koji }e korisnika
odvesti na svako pojedina~no poglavlje. Kada korisnik pro~ita svako poglavlje,
vra}a se na stranicu sa sadr`ajem gde mo`e da izabere pristup nekom drugom
poglavlju.
Drugi model je Web struktura – model kod kojeg je sadr`aj prepun linkova
za unakrsna referenciranja. Na svakoj datoj stranici mo`e da postoji mnogo
linkova koji }e povezivati ostale delove sajta i na taj na~in povezivati materijal.
Ideja za ovakvu strukturu sajta je da korisnik mo`e da studira materijal na na~in
koji njemu odgovara, granaju}i potragu za povezanim informacijama na sajtu po
li~noj `elji i na~inu shvatanja.
Tre}i model je Web aplikacija. U Web aplikaciji korisnik se vodi kroz sajt na
strukturirani na~in – na na~in na koji su stranice sajta dizajnirane. Na primer,
ako `elite da on-line popunite formular za polisu osiguranja, veoma je va`no da
svaku stranicu formulara popunite na pravilan na~in. Korisnikovo popunjavanje
}e zavisiti od na~ina na koji je kreator stranice odlu~io da ga vodi kroz postupak,
u cilju pravilnog popunjavanja potrebnih dokumenata.
JEDNOMINUTNA PROVERA
n Koja je namena File Transfer Protocola?
Da prenese fajlove ka i od kompjutera preko distribuirane mre`e.
n Koja dva protokola sa~injavaju TCP/IP?
TCP – Protokol za upravljanje transmisijom i IP – Internet protokol.
n Koji je jezik Weba?
HTML
Kao {to vidite, trnovit je put do Web zvezda – bi}e mnogo u~enja na putu saznavanja
Weba. Tehnologije i koncepti koji sa~injavaju Internet su jo{ uvek u
razvoju i ako tek sada po~injete da se bavite ovom obla{}u, nema ba{ mnogo
toga {to treba da nadoknadite. Upravo zbog toga smo zajedno oko ove knjige.
Stoga, treba da po~nemo da radimo ne{to prakti~no, da pogledamo
tehnologije koje ~ine postavljanje Web aplikacije. Po~e}emo sa instaliranjem
UltraDeva i razmotri}emo i druge stvari koje treba da znate da biste uspe{no
sagradili va{ sajt.
Instaliranje UltraDeva
Instaliranje UltraDeva ne mo`e biti jednostavnije. U stvari, ako znate da
dvostruko kliknete mi{em i da odgovorite na par jednostavnih pitanja tipa „Koje
je va{e ime?“ i „Mo`ete li da prona|ete serijski broj ovog programa?“, ne}ete
imati nikakvih problema sa instalacijom UltraDeva na va{ kompjuter.
Me|utim, ovim ulazite u svet razvoja Web aplikacija, a u tom svetu softver
koji }ete koristiti za izgradnju stranica predstavlja samo mali deo celog niza programa
sa kojima treba da budete upoznati da biste uspe{no konstruisali i objavili
Web aplikaciju sa aktivnim podacima. Mora}ete i da donesete par odluka u
vezi sa platformama i aplikacijama sa kojima `elite da radite prilikom konstruisanja
sajta. Pored instaliranja UltraDeva, bi}e potrebno da obezbedite pristup:
n Web serveru,
n aplikacijskom serveru,
n mediju za sme{tanje podataka,
n Stage (pozadinskom) serveru i
n serveru aktivnih podataka.
Tako|e, po{to UltraDev podr`ava razne razvojne platforme, mora}ete da
odlu~ite koje `elite da koristite a da budete sigurni da }e svi va{i izbori biti
me|usobno kompatibilni.
Pogledajmo koje opcije imate.
Web server
Verovatno ste upoznati sa na~inom na koji radi World Wide Web, ali podse}anje
nikada ne mo`e da {kodi (pogledajte sliku 1-5). Kada kreirate stranice u
UltraDevu, bez obzira na to koju ste platformu izabrali, koristi}ete neki FTP program
da ih postavite na kompjuter koji izvr{ava Web serversku aplikaciju. Web
server je program odgovoran za prijem i obradu HTTP zahteva koji se generi{u
kada korisnik otkuca URL u svom brauzeru.
U zavisnosti od toga gde se nalazi host ra~unar i u ~ijem je vlasni{tvu,
mo`ete ali i ne morate da dobijete mogu}nost velike kontrole nad izborom Web
servera. Postoji vi{e servera koji su na raspolaganju, a vrsta hardvera i izbor
operativnog sistema koji koristite unekoliko mo`e da suzi ovaj izbor. Neki od njih
su besplatni (ili i najmanju ruku besplatni u okviru kupljenog operativnog sistema),
kao {to je Microsoftov Internet Information Server ili Apache, dok }ete
Kako funkcioni{e Web 13
14 Po~etak rada sa UltraDevom
neke druge morati da kupite. Spisak nekih popularnijih Web servera i platformi
koje ih podr`avaju dati je u tabeli 1-1.
Slika 1-5
Kako radi Web
Tabela 1-1 Popularni Web serveri i platforme koje su podr`ane.
Web server Podr`ane platforme
Internet Information Server Windows NT, Windows 2000
Apache NetBSD, FreeBSD, BSDI, AIX, OS/2,
SCO, HPUX, Novell Netware,
Macintosh, Be OS, Windows NT, Linux,
Windows 95, Windows 98, IRIX,
Solaris, Digital UNIX
Java server OS/2, HPUX, Windows NT, Linux,
Windows 95, IRIX, Solaris
Lotus Domino Go Webserver Digital UNIX, AIX, OS/2, HPUX,
Windows NT, Windows 95, IRIX,
Solaris
Stronghold Secure Web Server NetBSD, Digital UNIX, BSDI, AIX, SCO,
HPUX, Linux, FreeBSD, IRIX, Solaris
Oracle Web Application Server HPUX, Windows NT, Windows 95,
Solaris
Iplanet HPUX, AIX, Solaris, IRIX, Windows NT
Aplikacijski server
Ako ne ignori{ete dobar deo UltraDeva, na va{em sajtu }e se na}i i stranice koje
zahtevaju vi{e obrade nego {to to mo`e da obezbedi Web server. Stranice koje se
obra}aju bazi podataka ima}e ekstenzije kao {to su .asp, .jsp ili .cfm. Ovakve
Server baze
podataka
Web server/aplikacijski server
Kompjuteri kod
klijenta sa Web
brauzerom
Zahtev
Internet
Odgovor
stranice zahtevaju da ih obrade posebni serveri – aplikacijski serveri koji su u
stanju da procesiraju tagove ili kôd koji u stvari radi posao vezan za bazu podatka.
Aplikacijski server radi u tesnoj saradnji sa Web serverom, a zajedni~ki posao
je da stranicu po{alju korisnikovom brauzeru na na~in koji on mo`e da je protuma~
i.
Neki aplikacijski serveri su duboko integrisani u Web serveru. Ovakav primer
je IBM-ov WebSphere, koji mo`e da pokre}e svoj HTTP server, ali mo`e i da radi
sa drugim serverima ovog tipa, kao {to je IIS ili Microsoftov asp.dll koji za svoj
rad zahteva IIS. Me|utim, neki drugi, kao {to je Cold Fusion, zavise od spolja{
njeg Web servera. Koja }e kombinacija biti najbolja za vas zavisi pre svega od
specifi~nih karakteristika koje od nje o~ekujete.
^uvanje podataka
Po{to ve} koristite UltraDev, verovatno je ispravna pretpostavka da ve} negde
imate podatke koje nameravate da uklju~ite u va{u aplikaciju. Teoretski gledano,
takvi podaci mogu da budu sme{teni u razli~ite vrste fajlova, uklju~uju}i
Excelove tabele i delimitirane tekstualne fajlove, ali sa stanovi{ta ~isto prakti~ne
upotrebe, najverovatnije }ete po`eleti fleksibilnost va{ih podataka koju jedino
obezbe|uje sistem za upravljanje relacionim bazama podataka (Relational
Database Management System, RDBMS). Postoji mnogo aplikacija za upravljanje
ovakvim bazama podataka, po~ev{i od Microsoftovog Accessa koji mo`ete da
nabavite za par stotina dolara, pa sve do serverski baziranih sistema za nivo
velikih preduze}a koji ko{taju na hiljade dolara i podrazumevaju zna~ajne hardverske
resurse.
Veoma je va`no da dobro izaberete i pravilno isplanirate aplikaciju za upravljanje
relacionim bazama podataka i to u najranijoj fazi projektovanja va{e Web
aplikacije. U zavisnosti od na~ina na koji gradite sajt, promena na~ina sme{tanja
podataka usred procesa razvoja aplikacije mo`e da bude frustriraju}i i ~esto
improvizuju}i i te`ak posao.
Pozadinski server
Internet je sam po sebi prili~no javno mesto. Kada ne{to po{aljete na Internet,
ljudi mogu to da vide. Kada va{a kompanija ili klijent zavise od toga {to svet o
njima ~ita, izuzetno je va`no da informacije budu korektne, i to pre nego {to se
postave na `ivi Web server. Kako raste kompleksnost sajta koji razvijate, tako
postaje sve va`nija i va`nija upotreba pozadinskog servera (Staging Server) u
va{em razvojnom procesu.
Pozadinski server je jedna stepenica u procesu publikovanja aplikacije koja
omogu}ava da se Web stranice {alju na servere koji nisu javno dostupni, a u cilju
pregledavanja i kvalitativne provere materijala. U zavisnosti od veli~ine va{e
organizacije, pozadinski server mo`e da bude bilo koji kompjuter koji je pode{en
tako da obavlja funkciju Web servera u Internet okru`enju, mada to mo`e da
bude i obi~an folder unutar osnovnog foldera va{eg Web sajta u kojem mo`e da
se objavi kako ceo sajt, tako i informacije o bilo kojim izmenama i popravkama.
Kako funkcioni{e Web 15
16 Po~etak rada sa UltraDevom
Ovakve informacije mogu da se naknadno pregledaju u privatnom okru`enju u
kontekstu celog sajta. Kada se ovakve informacije vezane za popravke verifikuju,
one se objavljuju na `ivom, odnosno aktivnom Web sajtu.
PRIMEDBA
Ono {to nikako ne biste `eleli da se desi jeste da na `ivi sajt objavite va{e probne verzije
aplikacija pa da ih tamo ispravljate. ^ak i ako postavite sakriveni, odnosno nevidljivi
direktorijum na va{em domenu, uradite ne{to da omogu}ite testiranje i pregledavanje
va{eg rada.
OPREZ
Sve, od poslednje slike pa do gramati~ke ispravnosti na Web sajtu, govori mnogo o
va{oj kompaniji ili klijentu. Upotreba pozadinskog servera radi omogu}avanja kvalitativnih
pregledavanja sajta koji nameravate da objavite je vitalna za o~uvanje va{e reputacije.
Server aktivnih podataka
Jedna od revolucionarnih osobina UltraDeva je njegova sposobnost da presko~i
podatke sa aktivnog servera i obezbedi razvojnu okolinu kori{}enjem stvarnih
podataka snimljenih u bazi. Ovakva razvojna okolina mo`e da se edituje. Iako
}emo o ovome diskutovati kasnije, u ovom trenutku je va`no da shvatite kako
ova karakteristika mo`e da vam olak{a posao. Windows korisnicima koji upotrebljavaju
ASP model jednostavnije je da koriste Personal Web Server ili prilago|
enu (lokalizovanu) kopiju Internet Information Servera. Oni koji koriste
neke druge tehnologije treba da prona|u na~in da iskoriste prednosti ovog
korisnog dizajnerskog alata.
Serverski modeli
UltraDev dolazi sa tri serverska modela na kojima mo`ete da bazirate sajt koji
razvijate: ASP, JSP o Cold Fusion. Na odluku o tome koji da koristite uti~e nekoliko
faktora, a sama odluka mo`e da zahteva i neke druge koje }ete tek donositi.
Va`no je da sve ovakve odluke donosite {to je ranije mogu}e u razvojnom procesu.
PRIMEDBA
Budite pa`ljivi kada birate za koju serversku tehnologiju `elite da programirate. Kada
ve} po~nete da kreirate stranice bi}e relativno te{ko da se prebacite na drugu
tehnologiju. UltraDev kreira kôd na osnovu preferenci koje ste vi postavili u toku rada.
Kako sada stvari stoje, ne postoji alat koji mo`e da konvertuje ovako generisani kôd.
Active Server Pages (stranice aktivnog servera)
Rizikujem kada ka`em da }e naj~e{}i serverski jezik me|u korisnicima UltraDeva
biti upravo ASP. Microsoftova tehnologija je sveprisutna, lako se u~i i koristi, a
na raspolaganju je na mnogim serverima baziranim na Windowsu koji se koriste
za podr{ku i upravljanje Web sajtovima. Verovatno }e neko da postavlja pitanja
o brzini i skalabilnosti, kao i o sposobnosti da se uhvati u ko{tac sa narastaju}im
potrebama vezanim za e-commerce sajtove; me|utim, istina je da je ovaj sistem
vi{e nego sposoban da obezbedi izuzetnu funkcionalnost za sve namene, osim za
najkompleksnije aplikacije.
Ako koristite Windows NT ili Windows 2000 server na kojem planirate da
Internet Information Server verzije 4 ili 5 podr`ava va{ sajt, sve je spremno da
uklju~ite ASP u va{e Web stranice. IIS4 podr`ava ASP 2.0, a to je specifikacija za
koju je projektovan UltraDev. IIS5 (dolazi sa Windowsom 2000) podr`ava ASP
3.0. Iako standardni kôd koji generi{e UltraDev ne}e mo}i da iskoristi sve nove
i napredne mogu}nosti iz verzije 3.0, uvek mo`ete da ru~no napi{ete delove
kôda koji }e to mo}i.
Ako koristite Windows NT i nemate instaliran IIS, mora}ete da nabavite NT
Option Pack. U njemu je uklju~eno nekoliko aplikacija koje }e biti korisne kada
radite Web aplikaciju. Najva`nije u ovom trenutku su Internet Information
Server i Microsoft Transaction Server (mora da bude prisutan za ASP). CD sa
Option Packom mo`ete da kupite ili ga preuzmete besplatno sa URL:
http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk
/default.asp.
ASP na serverima koji nisu Microsoftove klase
Ako je potrebno da koristite server koji radi na drugom operativnom sistemu
osim Windowsa ili koristi neki drugi Web server osim IIS, jo{ uvek mo`ete da
koristie Active Server Pages za va{ sajt zahvaljuju}i firmama koje su prilagodile
ASP drugim platformama putem svojih li~nih serverskih aplikacija.
Firma ChiliSoft (ww.chilisoft.com) pravi program koji se naziva ChiliASP koji
obezbe|uje kompletnu podr{ku za ASP na sistemima AIX, HP-UX, Linux,
OS/390, Solaris i Windows NT. Oni su raspolo`eni da razmotre svaku drugu platformu
i pozivaju posetioce njihovog sajta da predlo`e neku drugu platformu za
koju bi trebalo da postoji ovakva podr{ka.
Program Instant ASP firme Halcyon Software (www.halcyonsoft.com)
obe}ava da obezbe|uje ASP podr{ku za bilo koji Web server, aplikacijski server
ili OS platformu. Program predstavlja port ASP specifikacija koji je baziran na
jeziku Java i dozvoljava maksimalnu prenosivost. Instant ASP donosi impresivan
spisak operativnih sistema i Web servera, isuvi{e velik da bi se ovde prikazao.
Kompletne informacije mo`ete da potra`ite na njihovom Web sajtu.
Najte`a stvar sa kojom moraju da se izbore re{enja za ne-Microsoft sisteme
jeste konverzija COM komponenata koje u stvari i ~ine ASP tako mo}nim. Ve}ina
njih ovo re{ava konvertovanjem u neku vrstu Java ili JavaBean implementacija.
Kako funkcioni{e Web 17
18 Po~etak rada sa UltraDevom
ASP skript jezik
Jedna od odluka koju morate da donesete jeste koji }ete skript jezik da koristite
u va{em ASP kôdu. Pisa}ete kôd (ili }e to za vas da uradi UltraDev) koji treba da
radi na serveru (va{em Web serveru) i kod klijenta (na brauzeru posetilaca
sajta). Naj~e{}e se koriste Visual Basic skript (VBScript) i JavaScript (ili
Microsoftova varijanta JScript). Koji jezik nau~iti i koristiti ~esto je pitanje i ~esto
ostaje bez odgovora.
VBScriptDDVBScript je podskup programskog jezika Visual Basic. Po{to je
ASP Microsoftova tehnologija, nije iznena|uju}e {to se preporu~uje upotreba
VBScripta kao jezika za razvoj ASP-a. Upravo zbog toga ve}ina ASP instruktora
koristi VBScript, {to olak{ava pronala`ewe kôda za razne primene. Ovaj jezik se
relativno laku u~i po{to mu sintaksa li~i na engleski jezik, a postoji i gomila programera
sa iskustvom u Visual Basicu koji ga prihvataju kao komforan na~in za
kori{}enje ASP-a.
Druga strana medalje VBScripta jeste {to je on neprakti~an kao skript jezik
na strani klijenta. Microsoftov Internet Explorer ga koristi za svoj rad kao
brauzer, dok ga Netscapeov Navigator (drugi va`niji brauzer) ne koristi. Iz tog
razloga, neki zaklju~uju da je upotreba JavaScripta i na serverskoj i na strani klijenta
bolja alternativa, posebno za novije korisnike koji imaju potrebu da nau~e
samo jedan jezik.
JavaScriptDDSvako ko `eli da nau~i iole ozbiljnije Web programiranje mora
da nau~i JavaScript. Iako ste mo`da dovoljno upoznati sa JavaScriptom kao
jezikom sa strane klijenta, u smislu da ga koristite za stvari kao {to su provera
pravilno popunjenih formulara i efekti dinami~kog HTML-a (DHTML), Java
Script je u stvari veoma robustan jezik koji dozvoljava sofisticirano objektno-orijentisano
programiranje na strani servera. Po{to je u pitanju jezik koji mo`e da
se koristi i na strani servera i na strani klijenta, on predstavlja logi~an izbor za
po~etnike koji mogu da postanu produktivni poznavaju}i samo jedan jezik. A ako
planirate da pi{ete ekstenzije za UltraDev, bi}e potrebno da postanete potpuni
poznavalac celog JavaScript jezika.
Me|utim, JavaScript se te`e u~i nego VBScript. On ima manje intuitivnu sintaksu,
a i primeri kôda se te`e nalaze. Po svom formatu on vi{e nalikuje na jezik
C ili Javu, ali ga ne treba me{ati ni sa jednim od njih; JavaScript je jezik za sebe.
Korisnici koji dolaze sa predznanjem jezika C ili Jave mo`da }e biti u po~etku
zbunjeni poku{avaju}i da zapamte koja komanda ide sa kojom, me|utim, dobar
ud`benik pri ruci ovakve probleme sasvim fino re{ava.
Java Server Pages (stranice Java servera)
Java Server Pages (JSP) je odgovor kompanije Sun Microsystems na ASP, a baziran
je na njihovom popularnom jeziku Java. Iako obezbe|uje skripting okolinu
koja mo`e da se poredi sa ASP-om, JSP je u stvarnosti mali deo jezika Java 2
Enterprise Edition, Sunovo okru`enje za razvoj aplikacija za velika preduze}a. U
njemu su uklju~ene najpopularnije Java tehnologije, kao {to su: Servlets,
Enterprise Java Beans (EJBs), Java Database Connectivity (JDBC) i Java Naming
and Directory Interface (JNDI).
Jedna od stvari koje su proslavile JSP jeste njegova portabilnost (prenosivost
na razne platforme). Dok je ASP, uop{teno govore}i, ograni~en na Microsoftovu
platformu, JSP je na raspolaganju za sve ve}e Web platforme. ^ak i vi{e – Web
serveri i aplikacijski serveri koji podr`avaju JSP mogu da se na|u kod mnogih
proizvo|a~a. Spisak sa informacijama za kontakte dat je u tabeli 1-2.
Tabela 1-2 Popularni JSP serveri
Server URL
Orion http://www.orionserver.com/
Resin http://www.caucho.com/
Jrun http://www.allaire.com/
Tomcat http://Jakarta.apache.org/
WebSphere http://www.ibm.com/
WebLogic http://www.bea.com/
Kao i ASP, JSP je baziran na skriptu, {to zna~i da }e va{e stranice biti
me{avina HTML kôda i skripta koji je pripremljen na strani servera i isporu~en
brauzerima u obliku koji oni razumeju. Skripting je u JSP-u re{en ~istim jezikom
Java i zbog toga poznavanje programskog jezika Java i njegovog radnog
okru`enja mo`e da bude od velike koristi.
Prednosti JSP-a su u vezi sa njegovim korenima u kosturu njegovog Java
Servleta. Kada se JSP stranica prvi put pozove, ona se kompajlira u Servlet koji
prihvata zahteve od korisnika i vra}a odgovor izlaznim kanalima. U brauzeru,
Java Virtual Machine tada prevodi ovako pretkompajliran kôd. Za razliku od
ovoga, ASP stranice se interpretiraju svaki put kada se u~itaju. Koliko god se
~inilo da je prednost velika – jedan bajt JSP kôda se interpretira za isto vreme
kao i cela ASP stranica – dobro napisan ASP i JSP obi~no se izvr{avaju pribli`no
istom brzinom.
Generalno posmatrano, razumljivo je da je ne{to te`e dobiti sajt koji radi u
JSP-u nego u ASP-u, me|utim, postoje nesumnjive prednosti koje vrede ovog
dodatnog truda.
Cold Fusion
Cold Fusion je sopstveni serverski model firme Allaire Corporation
(www.allaire.com). Za razliku od ASP-a i JSP-a, Cold Fusion je baziran na tagovima
a ne na skriptu. Ova su{tinska razlika je u~inila da Cold Fusion postane
izuzetno popularan me|u Web dizajnerima i piscima HTML kôda koji su navikli
na programiranje tagovima. Bez obzira na sve, Cold Fusion nije ni{ta manje
sposoban od konkurencije, ~ak je mo}an do te mere da je firma Macromedia
dogovorila da se udru`i sa firmom Allaire. U vreme dok ~itate ovu knjigu
verovatno }e se raditi o jednoj kompaniji i sjajnoj budu}nosti za Cold Fusion u
UltraDevu.
Koriste}i svoj ve} ugra|eni set tagova, Cold Fusion mo`e da izvr{i bilo koju
funkciju koju biste mogli opisati skriptovima u ASP-u ili JSP-u. Neke od njih su
Kako funkcioni{e Web 19
20 Po~etak rada sa UltraDevom
~ak i zna~ajno lak{e, po{to Cold Fusion ima zatvorene funkcije koje zahtevaju
spolja{nje komponente u drugim jezicima (npr. postavljanje fajlova na mre`u).
Cold Fusion predstavlja kompaktan jezik koji ~esto zahteva ne{to manje linija
kôda nego konkurencija da bi izvr{io isti zadatak.
Ako `elite da razvijate aplikacije tipa Cold Fusion bi}e potrebno da nabavite
Cold Fusion Server. On je na raspolaganju u tri verzije. Prva je besplatna, Express
verzija sa ograni~enim setom mogu}nosti koja je odli~na za po~etak rada sa Cold
Fusion-om, mada nije naro~ito korisna sa UltraDevom po{to se on oslanja na
neke tagove koji nisu na raspolaganju u Express verziji. Verzije Professional i
Enterprise poseduju kompletniji set mogu}nosti i izvr{avaju se na vi{e razli~itih
platformi. Kompletna matrica u kojoj su data pore|enja, a koja mo`e da vam
pomogne da odlu~ite koja je verzija ba{ za vas, nalazi se na Allaire-ovom Web
sajtu.
Trenutno Cold Fusion Server radi pod operativnim sistemima Windows,
Sunov Solaris i Linux, {to ga ~ini veoma portabilnim kakav u su{tini i jeste. Za
one koji `ele da izvr{avaju ne-Microsoftov server, Cold Fusion predstavlja popularnu,
skalabilnu i veoma mo}nu opciju.
Pitajte stru~njaka
Pitanje: Koji serverski model da koristim sa UltraDevom?
Odgovor: To je li~na odluka koja mora da se bazira na nekoliko faktora. Dva
od njih koje treba uzeti u razmatranje su: koji vam je hardver i softver na raspolaganju
i koliko programersko iskustvo imate.
Ako radite u okru`enju koje je dobro snabdeveno, mo`da }ete mo}i da
izaberete provajdera (ISP) koji pru`a usluge za bilo koji model koji biste po`eleli
da probate. Ako, me|utim, vi ili va{a kompanija treba da mnogo investirate u
postoje}u infrastrukturu, to }e sigurno biti ograni~avaju}a okolnost.
S obzirom na popularnost Visual Basica, mnogi programeri }e uspeti da
izniveli{u i primene svoje znanje veoma dobro i u ASP okru`enju. Sa druge
strane, Java je tako|e popularan jezik, a kao posledica toga, JSP dobija na popularnosti
iz trenutka u trenutak. Cold Fusion obezbe|uje jezik baziran na tagovima
koji je veoma komforan za rad onim programerima koji imaju dosta iskustva
u HTML-u.
Pitanje: Ako upravo sada kre}em sa ovim poslovima, koji serverski model bi
bio najjeftiniji za implementaciju?
Odgovor: I ovaj odgovor tako|e ima vi{e slojeva. Po{to je ASP besplatan uz
Windows (serversku) instalaciju, treba da kupite Windows a to mo`e da ko{ta
nekoliko stotina dolara. Cold Fusion stoji ne{to malo preko hiljadu dolara, ali on
mo`e da se izvr{ava na operativnim sistemima koji su besplatni ili mogu da se
nabave sa veoma malo ulaganja. Za JSP postoje operativni sistem i aplikacijski
serveri koji mogu da se preuzmu preko Interneta potpuno besplatno, ali, sa
druge strane, ovakvi sistemi se najte`e konfiguri{u i to treba ozbiljno uzeti u razmatranje.
U okru`enju koje je dobro snabdeveno opremom i softverom, mnoga
od ovih razmatranja jednostavno i ne postoje. Mo`da }ete mo}i da na|ete usluge
na bazi ASP, JSP i Cold Fusion servera po gotovo istoj ceni.
JEDNOMINUTNA PROVERA
n Koja tri serverska modela podr`ava Dreamweaver UltraDev 4?
ASP, JSP i Cold Fusion,
n Koja je svrha servera aktivnih podataka?
Da omogu}e Web serveru koji koristi UltraDev da prika`e stvarne podatke iz
baze podataka u razvojnom okru`enju,
n Koja je uloga skladi{ta podatka?
Da obezbedi mesto za sme{taj podataka sa kojima }e va{a Web aplikacija
sara|ivati.
Razvojno okru`enje
Po{to je ovo priru~nik za po~etnike, morao sam da napravim nekoliko pretpostavki
vezanih za platforme koje }ete verovatno koristiti. Osta}emo u izlaganju
sasvim blizu osnovnog proizvoda (UltraDeva) bez mnogo ru~nog dodavanja
kôda, a u tom slu~aju izbor platforme za aplikaciju nije od presudnog zna~aja.
Tako|e, pretpostavljam da }ete raditi u relativno bogatom okru`enju, {to zna~i
da ste u mogu}nosti da platite izme|u 0 i 100 dolara mese~no (ili pribli`no
toliko) za serverski prostor i odr`avanje, a u tom slu~aju ne}e vam biti potrebno
previ{e informacija o pode{avanju potrebnih servera. Najva`niji deo ove diskusije
sa tehni~ke ta~ke gledi{ta u stvari se svodi na razvojnu okolinu koju }ete koristiti.
Windows 2000 svakako preuzima PC tr`i{te. U vreme dok ~itate ovu knjigu,
dobre su {anse da }ete ve} imati noviji Windows od verzije 98. Windows Me
svakako nije odgovaraju}i za Web programiranje. On ~ak ni tehni~ki ne podr`ava
razvojni Web server kao {to je Personal Web Server. Windows 2000 Professional
je robusnije okru`enje i ja preporu~ujem da ga svakako koristite, ako je to ikako
mogu}e. Nadalje, on ima prednost da podr`ava razvojnu verziju Internet
Information Servera, {to zna~i da }ete imati profesionalnu testnu okolinu za va{
rad. Mada ne bih `eleo da zvu~im Microsoft-ocentri~no u mom prilazu
UltraDevu, ova kombinacija razvojnih alata je izuzetno popularna i ja }u se
usredsrediti u na{oj diskusiji upravo na ovu kombinaciju. Sa druge strane,
me|utim, bi}e pokriveno veoma malo specifi~nih stvari vezanih za takvo
okru`enje, tako da ne}ete imati problema da informacije prilagodite nekom drugom
setu alata, pa ~ak i razvojnim ma{inama tipa Macintosh.
Projekat 1-1: Instaliranje i kori{}enje Internet Information Services
Bez obzira na to {to Internet Information Server 5.0 (IIS) dolazi u sklopu
Windowsa 2000 Professional, on se u startu ne instalira. Sledite naredna
uputstva da biste instalirali i konfigurisali IIS na va{oj razvojnoj ma{ini.
Ciljevi projekta
Na kraju ovog projekta, ima}ete:
Kako funkcioni{e Web 21
22 Po~etak rada sa UltraDevom
n instaliran Internet Information Services na va{em razvojnom kompjuteru,
n pripremljen kompjuter za slanje e-mail poruka putem IIS SMTP servera kao
i CDO po{te.
Korak po korak
1. Izaberite opciju: Start / Setings / Control Panel.
2. U Control Panelu dvostruko kliknite na ikonicu Add/Remove Programs.
3. Izaberite Add/Remove Windows Components.
4. Nakon kra}e pauze, pojavi}e se dijalog-~arobnjak Windows Component
Wizard. Ozna~ite izborno polje pored Internet Information Services (IIS) i
kliknite Next.
5. Mo`da }ete morati da ubacite CD na kojem je Windows 2000, kao {to je
prikazano na ovoj slici.
Kako funkcioni{e Web 23
24 Po~etak rada sa UltraDevom
6. Windows }e vas obave{tavati o napredovanju instalacije tokom kopiranja
potrebnih IIS fajlova u va{ kompjuter.
7. Kada zavr{i, vide}ete slede}i prozor koji potvr|uje da je instaliranje IIS-a
uspe{no zavr{eno.
8. Zatvorite ~arobnjaka Windows Components Wizard, ali ostavite otvoren prozor
Control Panela. U njemu, dvostruko kliknite ikonicu Administrative
Tools.
9. Dvostruko kliknite na Computer Management.
10. Kliknite na znak plus (+) pored opcije Services And Applications, a zatim i
na plus (+) pored opcije Internet Information Services. Bi}e vam prikazane
komponente koje su instalirane u IIS-u tokom pomenute instalacije. Pomo}u
prikazanih komponenata mogu}e je da konfiguri{ete va{ server da odgovara
ta~no onako kako vi to `elite.
Kako funkcioni{e Web 25
26 Po~etak rada sa UltraDevom
Postoje tri dela instalacije IIS-a:
n po~etni FTP sajt,
n po~etni Web sajt i
n po~etni virtuelni SMTP server.
SAVET
Postoji par ograni~enja za IIS kada se on izvr{ava na radnoj stanici, tj. na operativnom
sistemu te klase, kao {to je Windows 2000 Professional. Dva najzna~ajnija su ~injenica
da mo`ete da imate definisan samo jedan FTP sajt i samo jedan Web sajt, a pred
toga, dozvoljeno je samo deset istovremenih konekcija sa serverom.
Ovaj projekat vam je pomogao da instalirate i konfiguri{ete Internet
Information Services na va{oj razvojnoj ma{ini. Znanje koje ste sakupili na kraju
ovog procesa }e vam pomo}i da razumete koncepte koji slede.
Po~etni (default) FTP sajt
FTP je Internet protokol koji se koristi za prenos datoteka izme|u kompjutera,
kao {to ste ve} zaklju~ili i iz samog njegovog naziva. On se koristi kada je bitnije
preneti kompletne fajlove iz ra~unara A u ra~unar B nego pregledati {ta se u
njima nalazi. Na primer, kada kreirate i snimite Web stranice kao HTML fajlove
na va{oj razvojnoj ma{ini, njima mo`e da se pristupi samo kada su one postavljene
na server koji je povezan sa Internetom. Ako je taj server neka druga ma{ina
a ne va{ razvojni kompjuter, koristi}ete FPT program – mo`da onaj ugra|en u
UltraDevu ili neki drugi – da biste te kompletne fajlove preneli u odgovaraju}e
foldere na serveru. Od tada nadalje, njihov sadr`aj mogu da vide svi brauzeri
bilo gde na Webu.
Po~etni FTP sajt je folder (direktorijum) koji je kreiran za tu ma{inu.
Pristupanjem FTP-om koriste}i naziv tog kompjutera ili koriste}i njegovu IP
adresu mapira}e vas u taj direktorijum da biste mogli da postavite va{e fajlove.
Postoji nekoliko stvari koje }ete po`eleti da podesite a koje se ti~u osobina ovog
FTP sajta. Pode{avanju osobina po~etnog FTP sajta mo`ete da pristupite tako {to
}ete kliknuti desnim tasterom mi{a na opciju Default FTP Site i sa menija koji }e
da se pojavi izabrati opciju Properties.
Na slici 1-6 prikazan je prozor Default FTP Site Properties (osobine po~etnog
FTP sajta). On ima vi{e kartica (tabova), od kojih je u ovom trenutku bitno samo
nekoliko. Kartica FTP Site prikazuje opis i IP adresu ovog sajta. U polje opis
(Description) mo`ete da upi{ete {ta god vam je volja.
Po~etna opcija za IP adresu za ovaj sajt jeste All Unassigned (sve nedodeljene).
To zna~i da }e svi FTP zahtevi koji dospeju na ma{inu sa nedodeljenom
specifi~nom IP adresom zavr{iti ovde. Ovo je va`no ako pokre}ete vi{e FTP
servera na istoj ma{ini. Po{to u IIS pod Windowsom 2000 Professional mo`ete
da pokrenete samo jednu instancu FTP-a, ovo pode{avanje nije od velikog
zna~aja. Mo`ete da ga ostavite kao {to jeste ili da unesete IP adresu koja je
dodeljena va{em kompjuteru, bilo za internu mre`u ili za Internet vezu.
Ako kliknete na karticu Security Accounts pojavi}e se prozor sa bezbednosnim
osobinama, kao {to je prikazano na slici 1-7.
Slika 1-6
Prozor sa osobinama po~etnog FTP sajta (Default FTP Site Properties).
Na ovom prozoru postoje dve va`ne stvari koje treba da se podese. Prva je u
vrhu prozora – Allow Anonymous Connections (omogu}i anonimne veze) – i ona
je aktivirana. Ako `elite da ljudi mogu da se pove`u sa va{im FTP sajtom i da se
njega preuzimaju podatke a da pri tome ne moraju da se prijavljuju sa {ifrom,
ostavite ovu opciju aktiviranu. Ali, pretpostavite da }e ovo biti razvojni direk-
Kako funkcioni{e Web 27
28 Po~etak rada sa UltraDevom
torijum za va{e aplikacije a ne sajt namenjen da se sa njega preuzimaju fajlovi –
tada }ete najverovatnije `eleti da niko anoniman ne mo`e da mu pri|e.
PRIMEDBA
Omogu}avanje anonimnim korisnicima da pristupaju ovom sajtu mo`e da bude
posebno opasno ako im omogu}ite upisivanje na FTP sajt (pod karticom Home
Directory), o ~emu }e biti re~i ne{to kasnije. Zlonamerni korisnici tada mogu da
postave na takav sajt viruse ili ostali destruktivni kôd. Vi treba da imate mogu}nost da
upisujete na FTP sajt da biste mogli da postavljate va{e Web stranice, me|utim, dozvoljavanje
ovo anonimnim korisnicima vrlo lako mo`e da rezultuje preuzimanjem kontrole
nad va{om ma{inom od strane nekog beskrupuloznog hakera.
Slika 1-7
Kartica Security Accounts (bezbedni nalozi) unutar prozora Default FTP Site
Properties.
Onemogu}avanje anonimnih veza zna~i da }e FTP sajtu mo}i da pristupe
samo oni korisnici koji su na spisku u donjem delu ovog prozora pod opcijom
FTP Site Operators (operateri FTP sajta). Mo`ete da ovu opciju ostavite kao {to
jeste, mo`ete da dodate korisnike po va{oj `elji ili da dodate korisnike u grupu
Administrators (administratori) i time da dozvolite pristup samo ljudima kojima
je on i potreban.
Na kraju, pogledajte karticu Home Directory na slici 1-8.
Iako je omogu}eno da promenite stvarni direktorijum kojem prisupa ovaj
FTP sajt, ova ~injenica nije od prakti~nog zna~aja, po{to mo`ete da imate
pode{en samo jedan FTP sajt. Mo`ete, me|utim, da aktivirate opciju Write i na
taj na~in da postavljate fajlove iz UltraDeva.
Nakon {to ste izvr{ili ove jednostavne izmene, posao zavr{avate sa osnovnim,
mada vrlo korisnim FTP serverom koji mo`ete da iskoristite za proveru sajta
koji razvijate.
Po~etni Web sajt
Kao {to postoji direktorijum ftproot kod pode{avanja FTP sajta, tako postoji i
direktorijum wwwroot koji mo`e da slu`i kao po~etni Web sajt. Svaki sajt koji
postavite u ovaj direktorijum bi}e dostupan pristupom na http://naziv_kompjutera/
ili po~etnom IP adresom tog servera ako se pristupa sa lokalne mre`e
(Local Area Network, LAN), ili pristupom na http://lokalnihost, odnosno na
http://127.0.0.1/ ako je brauzer upravo na tom kompjuteru. Kada postavite
stranice koriste}i FTP sajt koji ste definisali u prethodnim koracima, mo`ete da
im pri|ete koriste}i ovu po~etnu Web stranicu.
Slika 1-8
Kartica Home Directory (osnovni direktorijum) prozora Default FTP Site
Properties (osobine FTP sajta)
ÐPRIMEDBA
Pored upravljanja instalacijom IIS-a sa samog servera, IIS dozvoljava i izvr{avanje
mnogih administrativnih zadataka i sa daljine – putem samog Interneta. Pogledajte
dokumentaciju koja dolazi uz IIS da biste podesili ove opcije.
Kao i u slu~aju pode{avanja FTP sajta, tako i ovde postoji nekoliko stvari koje
}ete po`eleti da promenite i da one postanu predefinisane opcije. Kliknite
desnim tasterom mi{a na opciju Default Web Site u sekciji Internet Information
Services (unutar Computer Manager), i sa menija koji }e da se pojavi odaberite
opciju Properties. Pojavi}e se dijalog prozor, sli~an onome na slici 1-9.
Kako funkcioni{e Web 29
30 Po~etak rada sa UltraDevom
Slika 1-9
Prozor Default Web Site Properties (po~etne osobine Web sajta).
Na isti na~in kao i kod osobina FTP sajta, mo`ete da promenite opis i IP
adresu ako to `elite, iako to nije neophodno. Na sli~an na~in, mo`ete da
promenite po~etni direktorijum koji je prikazan na slici 1-10 ako to `elite,
me|utim, ne dirajte ostale opcije sve dok ne nau~ite vi{e o na~inu na koji te
izmene mogu da uti~u na neke druge opcije ili pona{anje programa.
Slika 1-10
Kartica Home Directory (osnovni direktorijum) prozora Default Web Site
Properties (osobine po~etnog sajta)
Informacije koje su date u kartici Documents (prikazane na slici 1-11) su
bitne za na{e razmatranje.
Nazivi koji su izlistani ovde, predstavljaju dokumente koje }e IIS
podrazumevati kao va`e}e po~etne stranice za va{ sajt. Kada god posetite sajt
kucaju}i samo naziv domena, kao npr. www.basic-ultradev.com, vi u stvari
ignori{ete jedan veoma va`an deo zahteva koji postavljate mre`i: koju stranicu
sa tog sajta `elite da vidite. IIS pravi pretpostavku u takvoj situaciji koja je bazirana
na informacijama koje su date u ovoj kartici. Po~ev{i odozgo, IIS tra`i stranice
~ija imena odgovaraju onima na spisku, i kada nai|e na prvu takvu stranicu,
to }e biti upravo ona stranica koju }e prikazati kao po~etnu za taj direktorijum.
Ako stranica nije prona|ena, a pregledavanje direktorijuma mu nije omogu}eno,
korisnik }e dobiti poruku o gre{ci u pristupu koja govori da mu nije dozvoljeno
da pregledava informacije sa tog direktorijuma.
Po definiciji, IIS }e tra`iti jednu od tri stranice koje treba da se nalaze u Web
sajt direktorijumu: Default.htm, Default.asp i iisstart.asp. Pogledajte strukturu
po~etnog Web sajta koja se kreira ~im se instalira IIS – slika 1-12.
Primeti}ete da je prisutna samo jedna od pomenutih stranica, i to
iisstart.asp. Ako poku{ate da pristupite va{em Web sajtu bez nekih modifikacija
vezanih za unos naziva u brauzeru (recimo, ne unesete „lokalnihost“ ili
„127.0.0.1“), aktivira}e se stranica iisstart.asp i vide}ete prikazane stranice kao
na slici 1-13.
Kao po~etni dokument, mo`ete da defini{ete {ta god `elite. Mada, {ta god da
ste izabrali, sa ovog spiska uklonite dokument iisstart.asp – svakako da ne `elite
da vidite sliku 1-13 kada god pristupite va{em sajtu. Neka ~e{}a pode{avanja
prikazana su u daljem tekstu.
Slika 1-11
Kartica Documents prozora Default Web Site Properties.
Kako funkcioni{e Web 31
32 Po~etak rada sa UltraDevom
Home.asp
Home.htm
Home.html
Index.asp
Index.htm
Index.html
Default.asp
Default.htm
Default.html
Obratite pa`nju na to da mo`ete da dodajete dokumenata koliko god `elite,
me|utim, imajte u vidu da }e veliki broj pretra`ivanja uzrokovati i sporije
prikazivanje `eljene stranice.
Slika 1-12
Po~etna struktura IIS-ovog Web sajta
Po~etni SMTP server
Iako po~etni SMTP server nije obavezni deo pode{avanja da bi IIS mogao da radi
sa UltraDevom, slanje elektronske po{te (e-mail) iz Web aplikacije je vrlo popularna
stavka za razmatranje. Prodiskutova}emo o nekim preliminarnim
pode{avanjima tako da mo`ete da koristite kako SMTP server tako i CDO po{tu
u na{im kasnijim primerima.
Simple Mail Transport Protocol (protokol za prenos jednostavne po{te) -
SMTP, kao {to mu i samo ime ka`e, veoma je jednostavan na~in da se po{alje i
primi po{ta putem Interneta. Sa pojavom protokola POP3 i IMAP, SMTP se vi{e
ne koristi toliko za pregledavanje po{te, me|utim, i dalje je standard za njeno
slanje. Instalaciona procedura za IIS instalira i SMTP zajedno sa IIS-om, tako da
mo`ete da koristite va{ Web server da biste slali po{tu, mada uvek mo`ete da
koristite i neki drugi mail server kao {to su Exchange ili Lotus Notes. Sve {to
treba da znate jeste njegova IP adresa i bezbednosna pode{avanja. Sada }emo da
napravimo kratku turu da bismo podesili lokalni Web server tako da mo`e da
{alje po{tu.
Slika 1-13
Po~etne stranice kako ih prikazuje IIS
Da biste mogli da pokrenete CDO mail na va{em serveru, potrebne su dve
komponente: fajl cdonts.dll i SMTP server. CDO za NTS1.2 je pojednostavljena
verzija pune verzije programa Collaboration Data Objects koji radi sa Microsoft
Exchangeom. On dolazi sa IIS-om 5 i trebalo bi da se nalazi na va{em serveru
ako je aktiviran IIS, mada }e mo`da biti potrebno da ga registrujete.
Da biste bili sigurni da je fajl cdonts.dll registrovan, izaberite Start / Run. U
dijalogu Run, u polje za unos, upi{ite regsvr32 c:ÐwinntÐsystem32Ðcdonts.dll.
Kako funkcioni{e Web 33
34 Po~etak rada sa UltraDevom
PRIMEDBA
Umesto navedene putanje c:ÐwinntÐsystem32Ð treba da unesete stvarnu putanju do
direktorijuma gde je na va{oj ma{ini instaliran fajl cdonts.dll. Ovde je data standardna
putanja koju postavlja Windows 2000 prilikom instalacije.
Ako se registracija zavr{i uspe{no, dobi}ete poruku o uspe{no izvedenoj akciji,
kao {to je prikazano na ovoj slici.
IIS }e kreirati po~etni SMTP virtuelni server i poseban direktorijum gde }e se
~uvati po{ta. Proverite dokumentaciju IIS-a da biste dobili informacije u vezi sa
pode{avanjem dodatnih daljinskih SMTP servera i aliasa.
Ovo bi trebalo da zavr{i posao za sada. Va{ server je sada pode{en –
omogu}en je po~etni SMTP server i postavljeni su potrebni fajlovi za rad CDO.
Upotreba ovih opcija bi}e obja{njena kasnije.
JEDNOMINUTNA PROVERA
n Koje komponente su potrebne da bi se koristio CDO u IIS instalaciji?
Potreban je fajl cdonts.dll i SMTP server.
n Za{to je potrebno da se omogu}i opcija Write (upisivanje) u osobinama
FTP sajta?
Zbog toga da vi mo`ete da postavljate fajlove u direktorijum sajta.
n [ta je to po~etni (default) dokument?
Stranica koja }e da se u~ita kad se ne tra`i ta~no odre|ena stranica u URL-u
Web sajta.
[ta je bitno u ovom poglavlju?
Do sada bi trebalo da prili~no dobro razumete istorijat posla kojim `elite da se
bavite. Tako|e, trebalo bi da bolje razumete odluke koje }ete morati da donesete
da biste mogli da se bavite razvojem uop{te i razvojem Web sajta. Isto tako, sada
bolje razumete postupak instaliranja IIS-a na va{em razvojnom kompjuteru. U
slede}em poglavlju pro}i }emo kroz UltraDev tako da }ete mo}i da se prijatno
ose}ate u razvojnom okru`enju u kojem }ete da radite.
PROVERA MATERIJE
1. Niz brojeva koji se dodeljuje svakom host ra~unaru na Internetu naziva se
2. [ta je od nabrojanog skript jezik koji }ete koristiti sa va{im ASP serverskim
modelom?
A. Visual Basic Script
B. Perl
C. C++
D. JavaScript
E. Tcl/Tk
F. Java
3. Protokol koji slu`i za slanje po{te putem Interneta naziva se
4. Koja osobina Cold Fusiona ga ~ini popularnim izborom kod onih koji imaju
iskustvu u kreiranju stati~kih Web stranica?
5. Koji protokol se koristi za omogu}avanje komunikacija za World Wide
Web?
Uvod u internet
• Pojava Interneta je jadan od najvažnijih događaja u
ljudskoj istoriji – revolucija u komunikaciji i poslovanju.
• Teme ove nastavne jedinice:
– Šta je Internet i kako function?
– Pregled istorijskog razvoja.
– Opis TCP/IP protokola (Transmission Control Protocol / Internet
Protocol).
– Tekući trendovi i kako se oni mogu razvijati u budućnosti.
2
Uvod u Internet 3
Šta je Internet?
• Telegraf i telefon – uređaji za komunikaciju s-kraja-nakraj
(eng. end-to-end communication).
• Radio i TV – uređaji za širenje informacije (eng.
broadcast).
• Telekomunikacioni medijumi su omogućili ljudima da se
informišu i zabave (eng. entertainment).
• Internet se pojavio kao alternativni oblik komuniciranja.
• On je sada postao primarni medijum za sve oblike
komuniciranja – jedan-jedan, jedan-više i više-više (eng.
one-to-one, one-to-many, many-to-many).
Uvod u Internet 4
Definicija Interneta
• Internet je globalna svetska mreža koja povezuje
računarske sisteme.
• Postoji široka lepeza sistema, od kamere do super
računara, uključujući i sisteme u svemiru (sateliti i sl.).
• Razvoj Interneta u tako veliku mrežu je zasnovano na
saradnji vlada, industrije i obrazovnih institucija širom
sveta.
• Širenje informacije putem Interneta, s druge strane,
dovodi do novih tehnoloških prodora.
3
Uvod u Internet 5
Istorijat Interneta
• Inicijalno je Internet bio namenjen za prenos vojne
informacije preko nekoliko računara.
• Postepeno su Univerziteti otkrili da Internet predstavlja
brži put za deljenje informacije i Internet se proširio na
nekoliko stotina računara.
• Zatim se i biznis komuna zainteresovla za deljenje
informacije preko mreže.
• Glavni motiv za sve je bio “deljenje informacije”.
• Širenje informacije brzinom elektronskih medija je
postala potreba skoro svakog ljudskog bića.
• Rast preko političkih i geografskih granica je indikator da
je deljenje informacije postala realna svetska potreba.
Uvod u Internet 6
1950-te
• Jedan od glavnih događaja koji je pokrenuo razvoj
Interneta je lansiranje satelita Sputnjik od strane SSSR.
• To je dovelo do stvaranja ARPA (Advanced Research
Project Agancy) unutar US DoD-a (Department of
Defence).
4
Uvod u Internet 7
1960-te
• ARPA je započela istraživanja o umrežavanju računara
sa sistemima za deljenje vremena (eng. time-sharing).
• Mnogi Univerziteti su učestvovali u ovim istraživanjima.
• Telekomunikacioni giganti su istraživali mogućnosti
povezivanja računara preko postojećih telefonskih linija.
• Napravljen je plan za prvu ARPA mrežu, ARPANET.
• To je bila prva glavna mreža sa komutacijom paketa.
Uvod u Internet 8
1970-te
• Na ARPANET su priključene mreže istraživačkih
laboratorija i Univerziteta.
• Napravlje je program za elektronsku poštu (e-mail) i
aplikacije za neformanlnu komunikaciju putem teksta
(eng. text-chat).
• Pojavili su se RFC (Request for Comment) dokumenti za
Telnet i FTP (File Transfer Protocol).
• Napravljen je Ethernet kao protokol za umrežavanje
(eng. networking).
• Pojavio se TCP/IP koncept protokola za transport i
komunikaciju.
5
Uvod u Internet 9
1980-te (1/2)
• Napravljene su mnoge mreže, uključujući BITNET,
MILNET, CSNET, NSFNET, UUNET i USENET.
• TCP/IP je postajao osnovni protokol za komunikaciju
preko ovih mreža.
• Pojavio se pojam Internet - mreža koja se sastoji od više
podmreža (eng. sub-networks).
• Instalirano je puno UNIX računara na Univerzitetima.
• Uveden je DNS (Domain Name System) radi rukovanja
imenovanjem računara (eng. host) između mreža i
podmreža.
• Pojavili su se virusi kao posledice grešaka (eng. bug).
Uvod u Internet 10
1980-te (2/2)
• Prve pojave virusa su dovodile do potpunog
zaustavljanja Interneta.
• Internet je stabilizovan krajem 80-tih, kad se pojavljuju
worms.
• Krajem ovog perioda bilo je oko 100.000 računara
povezanih na Internet u nekoliko zemalja.
6
Uvod u Internet 11
1990-te (1/3)
• Napuštena je ARPANET.
• Širene su veze između više podmreža u nekoliko
zemalja.
• Evropska organizacija za nuklearna istraživanja CERN je
uvela WWW (World Wide Web).
• Uvedene su mreže na bazi bržih veza: 1.5Mb/s T1 do
45Mb/s T3 (u Evropi E1-E3).
• Formiran je InterNIC (Internet Network Information
Center) radi administriranja usluga na Web-u.
• Mnoge komune su ustanovile svoje prezentacije na
Web-u.
Uvod u Internet 12
1990-te (2/3)
• Upotreba PC-a i telefonskih linija je počela da raste
eksponencijalno zahvaljujući pojavi ISP-a (Internet
Service Provider).
• Oživeo je koncept pretraživanja (eng. browsing) Web-a.
• Pojavili su se mnogi skript jezici, a HTML je postao de
fakto standard.
• Napravljene su hiljade RFC-a.
• Kasnih 90-tih je uvedeno elektronsko poslovanje (eng. ecommerce).
• Distribuirane obrade ulaze u fokus istraživanja.
• Pojavljuju se hakeri i zaštita postaje jedna od glavnih
briga.
7
Uvod u Internet 13
1990-te (3/3)
• Izmišljene su nove tehnologije i protokoli u cilju
zaštićivanja Interneta.
• Počinje priključivanje malih i kućnih uređaja (mobilni
telefoni, veš mašine, itd.).
• Pojavljuje se podrška mobilnim korisnicima.
• Zbog Y2K problema mnogi Internet resursi su poboljšani.
• Internet i dalje raste eksponencijalno, priključuju se
milioni krajnjih računara na Internet.
• Internet konačno postaje stabilniji i pouzdaniji.
Uvod u Internet 14
2000-te (1/2)
• IPv4 adresni prostor je iscrpljen.
• Nova verzija, IPv6, rešava ovaj problem.
• Poslovanje preko mreže raste eksponencijalno.
• Kapacitet infrastrukture se konzumira povećanom
brzinom.
• Zavisnost biznisa i ljudi od Interneta postaje
zastrašujuća.
• Zbog toga zaštita Interneta dobija još više na značaju.
• Putem Interneta se prenose različiti informacioni sadržaji
(eng. media content), kao što su video, telefonija i HDTV
(High Definition TV) preko Interneta.
8
Uvod u Internet 15
2000-te (2/2)
• Prosečni korisnik (PC sa telefonskom linijom) zahteva
širi propusni opseg.
• ISDN i DSL linije sa brzinama do 600kb/s postaju široko
dostupne prosečnim korisnicima.
• Mreža se ne koristi samo za komuniciranje, već i kao
server datoteka, server za računanje i aplikacioni server.
• Eksponencijalno raste deljenje datoteka, resursa za
računanje i distribuiranih aplikacija.
• Razvijaju se nove tehnologije distribuiranog
umrežavanja.
Uvod u Internet 16
Osnovni Internet principi
• Pojam Internet je izveden iz dva korena “inter” i
“network”.
• Mogućnost međusobnog povezivanja dve mreže uvodi
definiciju Interneta.
• Koliko se Internet razlikuje od mreže?
• Pa, ne previše. Objašnjenje sledi.
9
Uvod u Internet 17
Mreža se pravi povezivanjem više
računarskih uređaja
Uvod u Internet 18
Mreža moža da se napravi i od više
podmreža (eng. sub-networks)
10
Uvod u Internet 19
Internet se dobija povezivanjem mreža i
podmreža
Uvod u Internet 20
Preliminarni ciljevi Interneta (1/2)
• Strateška vojno-orijentisana komunikacija različitih
računarskih uređaja.
• Deljenje informacije između vojnih baza u cilju efektivnog
raspoređivanja vojnih strategija.
• ARPANET je robusna i pouzdana mreža za potrebe rata.
• To je glavni princip iza celog projekta, iako je bilo i
mnogo drugih ciljeva.
• Nema centralizovane komandne i kontrolne jedinice,
tako da nema jedne tačke napada gde bi neprijateljski
projektil mogao da sruši mrežu.
• U to vreme to se smatralo skoro nerešivim zadatkom.
11
Uvod u Internet 21
Preliminarni ciljevi Interneta (2/2)
• U ARPANET-u je rađeno na raznim projektima pre nego
što je paketski komutirana komunikacija izabrana za njen
glavni protokol.
• Time je postignuta željena robustnost i pouzdanost.
• Kako?
Uvod u Internet 22
Komutacija paketa kao osnova robustosti i
pouzdanosti (1/2)
• Mreža se sastoji od više čvorova.
• Svaki čvor je povezan sa svim drugim čvorovima bilo
direktno ili indirektno.
• Prema tome, postoji više puteva između čvora izvorište i
čvora odredište.
• Informacija se šalje u malim paketima, čija veličina se
obično ne menja.
• Npr. ako je paket veličine 1 bajt, potrebno je 100 paketa
da bi se prenela informacija opisana sa 100 bajta.
• Mreža usmerava ove pakete do njihovog odredišta.
12
Uvod u Internet 23
Komutacija paketa kao osnova robustosti i
pouzdanosti (2/2)
• Kako mreža ovo postiže?
• Pošto ne postoji unapred zadata putanja, prvi čvor koji
ima neku inteligenciju usmerava paket prema njegovom
odredištu, upućujući ga nekom od svojih suseda.
• Ova strategija je veoma neefikasna, pošto isporuka
paketa nije zagarantovana.
• Glavna ideja iza ovog protokola je da se ova
nepouzdanost koristi kao prednost.
Uvod u Internet 24
Primer
• Hipotetička mreža sa
čvorovima od A do Z.
• Hipotetički protokol zahteva
postojanje unapred
određenih putanja za veze
između čvorova.
• Npr. putanja između A i N
ide preko B, D i G.
• Ako npr. čvor D otkaže,
komunikacija A-N je
onemogućena.
• Čvor D je tačka mogućeg
otkaza (eng. single point of
failure).
13
Uvod u Internet 25
ARPANET – mreža bez slabih tačaka
• U ARPANET-u u slučaju otkaza nekog čvora, saobraćaj
se usmerava preko durgih čvorova u mreži.
• Naravno u slučaju otkaza odredišnog čvora ne može se
ništa uraditi.
• Protokol koji se u ARPANET-u koristio 70-tih je NCP
(Network Control Protocol).
• Vremenom je razvijen TCP/IP.
• Da bi se razumeo Internet mora se razumeti TCP/IP, a
da bi se razumeo TCP/IP mora se razumeti ISO OSI.
Uvod u Internet 26
Kratak pregled ISO OSI
• Nedostatak prvih mreža sa
komutacijom paketa je bio što
su samo čvorovi istog
proizvođača mogli međusobno
da komuniciraju.
• Rešenje je ponuđeno u obliku
ISO OSI referentnog modela.
• Model je napravljen u obliku
slojevite arhitekture.
• Svaki sloj ima sopstvene
obaveze.
• OSI je hijerarhijska i
modularna arhitektura.
• Slojevi su slabo povezani.
Physical Layer
Data Link Layer
Network Layer
Transport Layer
Session Layer
Presentation Layer
Application Layer
14
Uvod u Internet 27
Sloj aplikacije (eng. application layer)
• Sloj aplikacije obezbeđuje API (Application Programming
Interface) za korisničku aplikaciju.
• Drugim rečima, ovaj sloj preuzima odgovornost za
mrežne detalje, tako da korisnička aplikacija ne mora da
brine o njima.
• Primeri korisničkih aplikacija su: usluga prenosa
datoteka, usluga štampanja, usluga elektronske pošte,
konzole za upravljanje mrežom, procesi klijent-server,
itd.
Uvod u Internet 28
Sloj predstavljanja (eng. presentation layer)
• Obezbeđuje standarde kodiranja.
• Odgovoran je za pregovaranje između aplikacije i
ostatka protokol steka.
• On obezbeđuje funkcije za prevođenje i konverziju
pomoću kojih se podaci mogu uspešno razmenjivati.
• Npr. aplikacija na PC-u šalje podatke u ASCII obliku.
• Sloj predstavljanja pretvara ASCII u standardni mrežni
oblik (ASN.1) i šalje ga ostatku protokol steka.
• Na prijemnoj strani, sloj predstavljanja prima podatke u
standardnom mrežnom obliku, koji je generički za
ostatak steka, i pretvara ih u ASCII.
15
Uvod u Internet 29
Sloj veze (eng. session layer)
• Obezbeđuje komunikacioni kanal između računara.
• Ovi komunikacioni kanali se nazivaju sesijama.
• Primeri protokola sloja veze su: RPC (Remote
Procedure Call), Apple Talk i NFS (Network File
System).
Uvod u Internet 30
Transportni sloj (eng. transport layer)
• Upravlja prenosom podataka preko mreže.
• Tj. obezbeđuje mehanizme kontrole toka da bi
obezbedio integritet podataka između čvorova.
• Ovaj mehanizam potvrđuje prijem svakog segmenta
podataka i ispravan redosled segmenata.
• Sve ukupno, odgovornost ovog sloja je da segmentira
podatke koje prima od sloja veze i upućuje ih mrežnom
sloju.
• U suprotnom smeru on sklapa segmente koje prima.
• Primeri protokola ovog sloja su TCP i UDP (User
Datagram Protocol).
16
Uvod u Internet 31
Mrežni sloj (eng. network layer)
• Obezbeđuje adresiranje krajnjih računara.
• Adresiranje se zasniva na usmeravanju informacije
između krajnjih računara preko mreže.
• Drugim rečima, rukuje prenosom i saobraćajem između
krajnjih računara.
• Takođe, obezbeđuje razrešenje adresa za segmente
koje prosleđuju objekti sloja kanala (eng. data link layer).
Uvod u Internet 32
Sloj kanala (eng. data link layer)
• Definiše kako se pristupa podacima iz fizičkog
medijuma.
• Formatira informaciju u okvire (eng. frames), koje
prosleđuje na gore.
• U obrnutom smeru, informaciju od gore pretvara u niz
bita koje prosleđuje fizičkom sloju.
• Koristi koncept fizičkog adresiranja (tzv. MAC adresa) da
bi identifikovao pojedine fizičke uređaje.
• Neki primeri protokola ovog nivoa su ARP (Address
Resolution Protocol) i RARP (Reverse Address
Resolution Protocol).
17
Uvod u Internet 33
Fizički sloj (eng. physical layer)
• Rukuje fizičkim detaljima slanja i prijema bita preko
fizičkog kanala.
• Obično je kanal napravljen od vodova, kao što je
upredena parica ili optičko vlakno.
• Može koristiti i bežične medije, kao što su infracrveni ili
radio talasi.
• Može podržavati različite topologije, kao što su zvezda,
prsten ili magistrala.
• Jedan primer ovog sloja je Ethernet standard.
Uvod u Internet 34
TCP/IP model
• U velikoj meri se zasniva na ISO OSI.
• TCP/IP je familija protokola (eng. protocol family,
protocol suite) koja omogućava komunikaciju različitih
računarskih platformi (HW + operativni sistem).
• Postoje neki osnovni zahtevi koji moraju biti ispunjeni da
bi se računar mogao priključiti na TCP/IP mrežu.
18
Uvod u Internet 35
Osnovni zahtevi za uključenje u mrežu
• Fizička arhitektura računara (CPU, memorija, monitor,
disk itd.)
• Mrežna kartica (komponenta koja povezuje računar sa
mrežom preko mrežnog kabla).
• Operativni sistem (programska komponenta koja
upravlja fizičkom arhitekturom i aplikacionim
programima).
• TCP/IP protokol stek (familija protokola koja omogućava
umrežavanje sistema).
Uvod u Internet 36
TCP/IP slojevita arhitektura
• TCP/IP je slojevit protokol, kao
i svi drugi mrežni protokoli.
• Sloj je podsistem unutar steka
sa zadatim odgovornostima.
• TCP/IP protokol stek je
arhitektura sa 4 sloja, nasuprot
ISO OSI koji ima 7 slojeva.
Link Layer
Network Layer
Transport Layer
Application Layer
19
Uvod u Internet 37
Sloj aplikacije
• Obezbeđuje zajedničku spregu preko koje korisničke
aplikacije komuniciraju sa donjim slojevima.
• Dakle, obezbeđuje spregu (eng. interface) između
aplikacija i mreže.
Uvod u Internet 38
Transportni sloj
• Odgovoran je za kontrolu toka između dva krajnja
računara (eng. host).
• Ovaj sloj je dužan da informaciju koju prima od aplikacije
segmentira (paketizira) i prosleđuje je mrežnom sloju.
• U suprotnom smeru, transportni sloj sklapa pakete koje
prima od mrežnog nivo i tako dobijenu informaciju
prosleđuje aplikaciji.
20
Uvod u Internet 39
Mrežni sloj
• Zadužen je za usmeravanje paketa kroz mrežu.
• Takođe je odgovoran za kontrolu i upravljanje porukama,
kao i za rukovanje grupama (eng. multicasting).
Uvod u Internet 40
Nivo kanala
• Rukuje fizičkim detaljima sistema.
• Drugim rečima, odgovoran je za sprezanje operativnog
sistema sa mrežnom karticom unutar računara.
21
Uvod u Internet 41
Komunikacija između TCP/IP čvorova
• Svaki čvor mreže mora
podržavati TCP/IP da bi
mogao da se priključi na
mrežu.
• Na slici su prikazani
protokoli komunikacije.
• Mreža je predstavljena sa
donja tri nivoa TCP/IP
protokol steka.
• Oni rukuju mrežnim
detaljima, bez da išta
znaju o aplikacijama.
• Aplikativni sloj je sprega
aplikacije sa mrežom.
Uvod u Internet 42
Nezavisnost od mrežnih detalja
• Aplikacija ne mora ništa da zna o načinu usmeravanja
informacije kroz mrežu od starne donja 3 nivoa.
• Tako je aplikacija potpuno odvojena od mrežnih detalja.
• Korisniče aplikacije u dve krajnje tačke logički
komuniciraju jedna s drugom. U stvarnosti one
komuniciraju preko donjih slojeva.
• Prema tome, TCP/IP je modularan protokol zasnovan na
slojevima.
22
Uvod u Internet 43
Fizička arhitektura Interneta
• Internet je mreža sačinjena od više mreža.
• Ove mreže se sastoje od čvorova koji se međusobno
povezuju direktno putem kablova ili preko koncentratora
(eng. hub).
• Koncentrator je uređaj koji omogućava međusobno
povezivanje više čvorova mreže.
• Mreže se povezuju pomoću komutatora ili usmerivača
(eng. router).
• Usmerivač je uređaj koji usmerava pakete koji potiču iz
jedne mreže ka odredištima u drugoj mreži.
• Usmerivač tipično koristi IP protokol da bi usmeravao
datagrame.
44
Mreže povezane preko usmerivača
• Usmerivač koristi mrežni sloj da bi povezao dve mreže.
• Dve mreže iste tehnologije se mogu povezati i preko mosta (eng.
bridge).
• Most koristi sloj kanala da bi povezao dve mreže.
23
Uvod u Internet 45
TCP/IP protokoli
• TCP je transportni protokol.
• IP je mrežni protokol.
• IP obezbeđuje uslugu usmeravanja datagrama kroz
mrežu.
• Ova usluga je nepouzdana, pošto IP ne garantuje
isporuku datagrama.
• S druge strane TCP garantuje isporuku segmenata.
• TCP obezbeđuje kontrolu toka i prenosa između dva
krajnja računara.
• TCP je takođe zadužen za slanje i prijem paketa
potvrde, kao i za ponovo slanje nepotvrđenih paketa.
46
TCP/IP familija protokola
• TCP/IP protokol stek se
u stvari sastoji od puno
drugih protokola, koji su
smešteni u 4 osnovna
sloja.
• Najvažniji protokoli su
TCP, UDP i IP.
24
Uvod u Internet 47
TCP
• TCP je protokol pouzdanog prenosa koji se nalazi u
transportnom sloju.
• Radi na vrhu IP koji je deo mrežnog sloja.
• Iako je IP nepouzdan protokol, TCP realizuje mehanizme
kontrole toka i prenosa koji obezbeđuju pouzdan prenos
informacije.
• TCP potvrđuje svaki paket koji primi, tako da pošiljaoc
zna da je paket stigao na svoje odredište.
• U slučaju da TCP sa predajne strane ne primi potvrdu,
on ponovo šalje nepotvrđeni paket (eng. retransmission).
• Na taj način aplikacija može računati da će mreža obaviti
pouzdanu isporuku informacije željenom odredištu.
Uvod u Internet 48
UDP (1/2)
• UDP (User Datagram Protocol) je protokol za razmenu
korisničkih datagrama.
• Komunikacija između dva krajnja računara se obavlja
slanjem i prijemom korisničkih datagrama.
• UDP je protokol nepouzdanog prenosa.
• Kao i TCP, nalazi se u transportnom sloju i koristi IP, koji
se nalazi u mrežnom sloju.
• Kao i TCP, zadužen je za kontrolu toka podataka.
• Međutim UDP ne garantuje isporuku paketa.
25
Uvod u Internet 49
UDP (2/2)
• UDP je protokol bez uspostave veze (eng.
connectionless), tj. ne poseduje mehanizme za
uspostavu i raskid veze.
• Pošto je UDP mnogo jednostavniji od TCP-a, on je i
mnogo brži.
• U suštini UDP proširuje IP uvođenjem koncepta prolaza
(eng. port). To je u stvari poštansko sanduče u koje se
smeštaju poruke namenjene nekom procesu.
Uvod u Internet 50
IP
• IP je protokol unutar mrežnog sloja.
• Koristi se kao centralna tačka između mnogih protokola,
kao što su TCP, UDP, ICMP i IGMP.
• Odgovoran je za usmeravanje paketa, koje šalje
transportni sloj, kroz TCP/IP mrežu.
• Pre svega je zadužen za usmeravanje datagrama ka
njegovom odredištu i ograničenje vremena njegovog
života.
• Podržava i niz opcija, kao što su:
– Vremensko pečaćenje
– Zapis izabranih deonica na putanji datagrama
– Usmeravanje po zadatoj putanji
26
Uvod u Internet 51
ICMP
• ICMP (Internet Control Message Protocol) je nadzornoupravljački
deo Internet protokola.
• Koristi se za prenos informacije o grešci i upravljačke
informacije između usmerivača i krajnjeg računara.
• Primeri poruka o greškama su: nemogućnost daljeg
usmeravanja datagrama i zagušenje mreže.
• Najvažnije ICMP poruke su:
– Zahtev za odjekom i odjek (eng. echo request/replay).
– Poruka preusmeravanja (eng. redirect).
– Zahtev za smanjenje brzine slanja (eng. source quench).
Uvod u Internet 52
IGMP
• IGMP (Internet Group Management Protocol) je protokol
koji usmerivači i krajnji računari koriste za prenos
informacije o pripadnosti grupama.
• Analogan je ICMP. I on se posmatra kao deo IP-a.
• Krajnji računar radi u dve faze:
– Na početku on šalje IGMP poruku za prijavljivanje u datu grupu,
koju prima IGMP usmerivač.
– Pošto je pripadnost grupi privremena, lokalni IGMP usmerivač
periodično proziva registrovane kranje računare radi provere
pripadnosti.
27
Uvod u Internet 53
Protokoli za transport u realnom vremenu
• RTP (Real-time Transport Protocol) je protokol za
prenos zvuka i slike preko Interneta. On obezbeđuje:
– Brojanje paketa (obezbeđivanje informacije o redosledu).
– Vremensko pečaćenje (eng. time stamp).
• RTCP (Real-time Transport Control Protcol) služi za
nadzor uslova RTP prenosa, kao i za komunikaciju
krajnjih tačaka izvan opsega.
• H.323 i SIP (Session Initiation Protocol) su protokoli za
uspostavu, održavanje i raskid multimedijalnih veza
preko Interneta.
Uvod u Internet 54
Adresiranje u Internetu
• Svakom čvoru u Internetu se dodeljuje jedinstvena IP
adresa, koja služi za njegovu identifikaciju.
• IP adresa šema koristi 32-bitne cele brojeve.
• IP adresa se sastoji iz dva dela: identifikacija mreže i
identifikacija krajnjeg računara (eng.host).
• Prvi deo sa naziva mrežni deo IP adrese, ili mrežni
prefiks i on identifikuje mrežu kojoj čvor pripada.
• Drugi deo IP adrese identifikuje sam čvor unutar zadate
mreže.
28
Uvod u Internet 55
Notacija sa decimalnim brojevima i tačkama
• IP adrese se pišu u obliku 4 decimalna broja, koji su
međusobno razdvojeni tačkama.
• Npr. 140.252.133.33
• Izvorna kovanice za ovu notaciju su dotted decimal
notation ili dotted quad notation.
• IP adresa je dužine 32 bita. Svaki bajt adrese se
predstavlja jednim decimalnim brojem.
• Bajti se još nazivaju oktetima, a njihov opseg je 0-255.
• Postoji 5 klasa IP adresa.
Uvod u Internet 56
Klase IP adresa
29
Uvod u Internet 57
Opsezi pojedinih klasa IP adresa
E 240.0.0.0 do 255.255.255.255
D 224.0.0.0 do 239.255.255.255
C 192.0.0.0 do 223.255.255.255
B 128.0.0.0 do 191.255.255.255
A 0.0.0.0 do 127.255.255.255
Klasa Opseg
Uvod u Internet 58
A klasa IP adresa
• Prvi oktet predstavlja mrežni deo adrese.
• Preostala 3 okteta identifikuju krajnji računar.
• Prvi bit, prvog okteta, je 0, tako da je opseg vrednosti
tog okteta od 1 do 127.
• Prema tome, može biti maksimalno 127 mreža klase A.
• Dodeljuju se vladinim agencijama i veoma velikim
organizacijama, kao što je IBM.
30
Uvod u Internet 59
B klasa IP adresa
• Prva dva okteta čine mrežni deo adrese.
• Druga dva okteta adresiraju krajnji računar.
• Prva dva bita su 10, tako da je opseg prvog okteta od
128 do 191.
• Dodeljuju se velikim organizacijama.
Uvod u Internet 60
C klasa IP adresa
• Prva tri okteta identifikuju mrežu.
• Zadnji oktet identifikuje krajnji računar, koji može biti od
1 do 254.
• Prva tri bita su 110, tako da je opseg prvog okteta od
192 do 223.
• Dodeljuju se malim organizacijama.
31
Uvod u Internet 61
D klasa IP adresa
• Adresa klase D je specijalna adresa koja se dodeljuje
multikast grupi.
• Prva četri bita su 1110 tako da je opseg prvog okteta od
224 do 239.
• Ova klasa nema mrežni deo i deo koji adresira računar,
već je cela adresa dodeljena multikast grupi.
Uvod u Internet 62
E klasa IP adresa
• Predstavlja specijalnu klasu koja je rezervisana za
buduću upotrebu.
• Prva četri bita su 1111, tako da je opseg prvog okteta od
240 do 255.
32
Uvod u Internet 63
Dodela IP adresa
• InterNIC je kontrolni autoritet koji dodeljuje IP adrese.
• On dodeljuje samo mrežni prefiks, tj. mrežni deo IP
adrese.
• Zadatak dodele ostatka IP adrese je poveren
administratoru mreže ili ISP-u na koji ne čvor priključen.
Uvod u Internet 64
Sistem imena domena, DNS
(Domain Name System)
• Da bi dva čvora mogla da komuniciraju, čvor izvorište
mora znati adresu čvora odredište.
• Da bi se izbeglo pamćenje IP adresa izmišljen je
alternativni sistem imenovanja čvorova, tzv. DNS.
• DNS je adresna šema koja obezbeđuje bazu podataka
sa imenima računara i odgovarajućim preslikavanjem u
jedinstvene IP adrese.
33
Uvod u Internet 65
DNS = Distribuirana baza podataka
• Preciznije, DNS je sistem distribuirane baze podataka,
koji obezbeđuje protokol za razrešavanje (eng.
resolution) imena krajnjeg računara.
• Drugim rečima, ako je dato ime računara, DNS može da
ga razreši (tj. preslika) u njemu odgovarajuću IP adresu.
• DNS radi i u drugom smeru, ako je data IP adresa, DNS
može da izvede ime u koje se preslikava ta IP adresa.
Uvod u Internet 66
Kako Internet radi?
• Internet je skup povezanih računara i mreža.
• Cilj Interneta je da obezbedi medijum za komunikaciju
ovih sistema.
• Na osnovnom nivo, korisnik ima Web pretraživač putem
kog pristupa Internetu.
• To je programska ulužna komponenta pomoću koje
korisnik pristupa informaciji koja je raspoloživa na
Internetu.
• To je logički prozor u Internet.
• Posmatrajmo scenarijo u kom korisnik najpre otvori
pretraživač i zatim krene u pretragu Interneta.
34
Uvod u Internet 67
Scenario pretraživanja Interneta (1/4)
• Korisnik unosi adresu i pritiska ENTER taster.
• Pretraživač čita Internet adresu u obliku sličnom
http://www.google.com/index.html
• Ovaj oblik se naziva uniformni pronalazač resursa, URL
(eng. Uniform Resource Locator).
• Pretraživač razbija URL na njegov protokol, ime
računara i ime datoteke.
• U primeru gore, http je protokol, ime računara je
www.google.com a ime datoteke je index.html.
• Nakon toga pretraživač uspostavlja vezu sa adresiranim
računarom.
Uvod u Internet 68
Scenario pretraživanja Interneta (2/4)
• Da bi uspostavio vezu sa računarom www.google.com,
pretraživač se obraća DNS serveru.
• DNS server, koji je raspoloživ na Internetu, razrešava
ime računara u njemu odgovarajuću IP adresu.
• Nakon što dobije IP adresu računara www.google.com,
pretraživač uspostavlja vezu sa njim.
• Obično se Web server izvršava na krajnjem računaru
(eng. host).
• Pretraživač se povezuje sa Web serverom na
određenom prolazu (eng. port) koji određen zadatim
protokolom.
35
Uvod u Internet 69
Scenario pretraživanja Interneta (3/4)
• Pošto je u posmatranom primeru u pitanju http protokol,
pretraživač kontaktira Web servera na podrazumevanom
(eng. default) TCP prolazu 80.
• Dalje pretraživač upućuje upit vezan za željenu datoteku
index.html.
• Ukoliko Web server pronađe zadatu datoteku, http veza
koja je uspostavljena između pretraživača i Web servera
se koristi za prenos datoteke index.html od servera do
pretraživača.
• Nakon prijema datoteke index.html, HTML parser, koji je
sastavni deo pretraživača, je parsira.
Uvod u Internet 70
Scenario pretraživanja Interneta (4/4)
• Tokom parsiranja, HTML parser prikazuje odgovarajuću
informaciju unutar konteksta pretraživača.
• Da bi se sve ovo odigralo, korisnički računar mora imati
potreban hardver i TCP/IP protokol stek.
36
Uvod u Internet 71
Scenario Telnet sesije
• Korisnik poziva komandu telnet (iz command prompt-a).
• Sa open server inicira uspostavu Telnet veze sa zadatim
serverom.
• Komanda telnet kontaktira DNS server radi dobijanja IP
adrese servera, a zatim uspostavlja sa njim TCP vezu na
prolazu 23.
• Server pokreće proces za izvršenje zadati komandi.
• Telnet dalje prosleđuje ulaz sa tastature ka procesu na
udaljenom računaru a u obrnutom smeru rezultate
izvršenja udaljenog procesa ispisuje na ekranu.
• Znaci se prenose u NVT (Network Virual Terminal)
obliku, a to je ustvari US ASCII.
Uvod u Internet 72
Scenario FTP sesije
• Korisnik poziva komandu ftp (iz command prompt-a).
• Komanda ftp kontaktira DNS server radi dobijanja IP
adrese FTP servera, a zatim se uspostavljaju dve TCP
veze između ftp klijenta i FTP servera:
– Veza za prenos podataka preko TCP prolaza 20.
– Kontrolna veza preko TCP prolaza 21.
• Primer FTP sesije:
ftp ftp.cs.purdue.edu
Name: anonymous
Password: guest
get public/remotefile localfile
close
quit
37
Uvod u Internet 73
Scenario slanja i prijema elektronske poruke
• Korisnik priprema elektronsku poruku u skladu sa RFC
822 (ASCII text, polja zaglavlja su From: i To:).
• Oblik e-mail adrese je: local@domain, gde je local ime
poštanskog sandučeta, a domain ime mail servera.
• Program za slanje poruke kontaktira DNS servera radi
dobijanja IP adrese servera, a zatim sa njim uspostavlja
TCP vezu i preko nje putem SMTP protokola predaje
poruku.
• Program za prijem poruka uspostavlja TCP vezu sa
serverom a zatim putem protokola POP3 preuzima
elektronsku poruku.
Uvod u Internet 74
Načini priključenja računara na Internet
• Najveći broj računara se na Internet priključuje preko
modema i telefonske/ISDN linije.
• Drugi način priključenja na Internet je indirektno preko
LAN-a, kad računar mora da ima odgovarajuću LAN
karticu.
• Ukoliko je računar priključen na LAN, on može biti
povezna na Internet preko servera zastupnik (eng.
proxy).
• Pored modema ili LAN kartice, potreban je i osnovni
operativni sistem i jednostavan Internet pretraživač.
• Ako koristi modem, mora da ima i račun kod ISP-a.
38
Uvod u Internet 75
PC računari povezani na Internet preko ISP
Uvod u Internet 76
Osnove Interworking-a
(Tehnički detalji)
• Internetwork je skup mreža međusobno povezanih
mrežnim uređajima, koje funkcionišu kao jedna velika
mreža.
• Internetworking se odnosi na uređaje i procedure putem
kojih se prave i administriraju ovakve mreže.
• Primer Internetwork-a je dat na sledećoj slici.
39
Uvod u Internet 77
Primer Internetwork-a
Uvod u Internet 78
Mreža širokog područja, WAN
(Wide Area Network)
• WAN povezuje LAN-ove geografski rasutih korisnika radi
omogućavanja njihovog komuniciranja.
• Neke od tehnologija za povezivanje LAN-ova su: T1
(E1), T3 (E3), ATM, ISDN, ADSL, prospajanje okvira
(eng. Frame Relay), radio veze i slično.
• Ove mreže se nazivaju i okosnice ili kičma-mreže (eng.
backbone).
40
Uvod u Internet 79
Fizički sloj ISO OSI
(Realizacije u skladu sa LAN/WAN specifikacijama)
Uvod u Internet 80
Sloj kanala ISO OSI
• IEEE je podelio ovaj sloj na
LLC (eng. Logical Link Control)
i MAC (Media Acccess
Control).
• LLC je standardizovan u IEEE
802.2. Podržava veze sa i bez
prethodne uspostave veze.
• IEEE MAC specifikacija uvodi
MAC adrese koje identifikuju
uređaje na ovom nivou
komunikacije.
41
Uvod u Internet 81
Aplikacioni sloj ISO OSI
• Postoje standardni aplikacioni protokoli i standardne
aplikacije.
• Telnet i Rlogin – protokol i aplikacija za podršku
udaljenom interaktivnom radu.
• FTP (File Transfer Protocol) i TFTP (Trivial File Transfer
Protocol) – protokoli za prenos datoteka.
• RFC 822 – format elektronse poruke. SMTP (Simple
Message Transfer Protocol) – protokol pomoću kog
kijent šalje elektronsku poruku serveru. POP3 – protokol
pomoću kog klijent preuzima poruku od servera.
• HTTP – protokol za pretragu Web stranica.
Uvod u Internet 82
ISO hijerarhija mreža (1/2)
• Velike mreže se organizuju hijerarhijski.
• ISO uvodi pojmove krajnji sistem (ES – end system),
međusistem (IS – intermediate system), oblast (area) i
autonomni sistem (autonomous system).
• ES je mrežni uređaj koji ne obavlja usmeravanje i druge
funkcije upućivanja saobraćaja. Primeri su terminali, PC
računari i štampači.
• IS je mrežni uređaj koji obavlja usmeravanje ili druge
funkcije upućivanja saobraćaja. Primeri su usmerivači,
komutatori i mostovi.
42
Uvod u Internet 83
ISO hijerarhija mreža (2/2)
• Oblast je logička grupa mrežnih segmeneta i uređaja
priključenih na njih.
• Oblasti su delovi autonomnih sistema.
• Autonomni sistemi je skup mreža pod zajedničkom
administracijom, koje dele zajedničku strategiju
usmeravanja saobraćaja.
• Autonomni sistem se ponekad naziva domen.
• Sledeća slika ilustruje hijerarhijsku mrežu i njene
komponente.
Uvod u Internet 84
Hijerarhijska mreža sadrži puno komponenti
43
Uvod u Internet 85
Internetwork adresiranje
• Postoje tri tipa adresa:
– Adresa sloja kanala (data link layer address)
– MAC (Media Access Control) adresa
– Adresa mrežnog sloja (network layer address)
Uvod u Internet 86
Adresa sloja kanala
• Jedinstveno identifikuje priključak na fizičku mrežu.
• Ponekad se naziva fizička adresa (eng. physical address
ili hardware address).
• Krajnji računari obično imaju jednu fizičku adresu, a
usmerivači više (onoliko koliko imaju priključaka).
• Primer je prikazan na sledećoj slici.
44
Uvod u Internet 87
Fizičke adrese (adrese sloja kanala)
Uvod u Internet 88
MAC adrese
• MAC adrese se sastoje od
podskupa adresa sloja kanala
(fizičke adrese).
• MAC adresa identifikuje entitet
u LAN-u koji koristi IEEE MAC
adresiranje.
• MAC je 48-bitna adresa. OUI
(Organizationally Unique
Identifier) dodeljuje IEEE. Nižih
24 bita su serijski br. interfejsa.
45
Uvod u Internet 89
Preslikavanje adresa
• Pošto se saobraćaj usmerava na osnovu mrežne
adrese, pojavljuje se potreba za preslikavanjem mrežne
adrese u MAC adresu.
• Najčešće korišćena rešenja ovog problema su:
– ARP (Address Resolution Protocol) protokol za preslikavanje
mrežne adrese u MAC adresu.
– Hello protokol za dobijanje MAC adrese drugog računara.
– Ugradnja MAC adrese u mrežnu, ili generisanje MAC adrese
nekim algoritmom.
• Najpopularnije rešenje ovog problema je primena ARP
protokola.
Uvod u Internet 90
ARP protokol
• Stanica najpre proverava lokalnu tabelu preslikavanja.
• Ako ne poseduje potrebno preslikavanje, upućuje svima
(eng. broadcast) ARP zahtev.
• Računar koji prepozna svoju IP adresu šalje traženo
preslikavanje u obliku para (IP,MAC) adresa u svom
ARP odgovoru.
• Ako se odredište nalazi u udaljenoj mreži, tj. mreži iza
usmerivača, proces je isti, samo što tada stanica
upućuje ARP zahtev radi dobijanja MAC adrese
podrazumevane kapije ili konvertora protokola (eng.
gateway).
46
Uvod u Internet 91
Hello protokol
• Omogućava mrežnim uređajima da identifikuju jedan
drugog i da provere da li je drugi još uvek aktivan.
• Kad se uređaj uključi on svima u mreži šalje hello
poruku.
• Ostali vraćaju hello odgovor odmah, a nakon toga
periodično da bi ukazali da su još uvek aktivni.
• Mrežni uređaji mogu utvrditi MAC adrese drugih uređaja
analizom poruka hello protokola.
Uvod u Internet 92
Protokoli sa predvidivim MAC adresama
• Tri protokola koriste tzv. predvidive MAC adrese.
• MAC adresa je predvidiva ukoliko je ugrađena u mrežnu
adresu ili ako je generisana zadatim algoritmom.
• Ovi protokoli su:
– XNS (Xerox Network System)
– IPX (Novell Interwork Packet Exchange)
– DECnet Phase IV
47
Uvod u Internet 93
Adrese mrežnog sloja
• Identifikuju entitete mrežnog sloja.
• Postoje unutar hijerarhijskog adresnog prostora.
• Ponekad se nazivaju virtuelne ili logičke adrese.
• Relacija između uređaja i mrežne adrese je logička i nije
stalna.
• Obično se zasniva na segmentaciji mreže ili grupisanju
koje nema fizičku osnovu.
• Krajnji sistemi (ES) zahtevaju po jednu mrežnu adresu
za svaki protokol mrežnog sloja koji podržavaju.
• Sledeća slika ilustruje ovu dodelu mrežnih adresa.
Uvod u Internet 94
Primer dodele mrežnih adresa ES-u
48
Uvod u Internet 95
Dodela mrežnih adresa usmerivaču
• Međusistemi (IS), kao što su usmerivači i sl., zahtevaju
po jednu adresu po svakom priključku i po svakom
protokolu mrežnog sloja koji podržavaju.
• Npr. usmerivač sa 3 priključka koji na svakom priključku
podržava protokole AppleTalk, TCP/IP i OSI mora da
ima po 3 mrežne adrese za svaki priključak, tj. oni ima
sve ukupno 9 mrežnih adresa.
• Sledeća slika ilustruje ovaj primer.
Uvod u Internet 96
Primer dodele mrežnih adresa IS-u
49
Uvod u Internet 97
Hijerarhijski i ravan adresni prostor
• Adresni prostor može biti hijerarhijski ili ravan.
• Hijerarhijski adresni prostor je organizovan u puno
podgrupa, gde svaka naredna sužava adresu, sve dok
ona ne ukaže na jedan uređaj.
• Ravan adresni prostor je organizovan u obliku jedne
grupe (npr. broj lične karte).
• Hijerarhijski ima neke prednosti u odnosu na ravan
adresni prostor.
• Npr. sortiranje i pretraživanje adresa je pojednostavljeno.
Uvod u Internet 98
Upoređenje hijerarhijskog i ravnog adresnog
prostora (eng. hierarchical, flat)
50
Uvod u Internet 99
Dodela adresa
• Dodela adresa može biti statička i dinamička.
• Statičke adrese dodeljuje mrežni administrator.
• Dinamičke adrese se dodeljuju uređajima prilikom
njihovog priključenja na mrežu.
• Dinamička dodela se obavlja putem nekog namenskog
protokola.
• U nekim mrežama postoji serveri za dodelu adresa.
• Npr. u Internetu postoje tzv. RARP (Reverse ARP)
serveri za ovu namenu.
Uvod u Internet 100
Adrese i imena
• Uređaji u Internetu obično imaju i adrese i imena.
• Imena su nezavisna od lokacije i ona ostaju ista i
prilikom premeštanja uređaja (npr. iz jedne u drugu
zgradu).
• Mrežne adrese su najčešće zavisne od lokacije i menjaju
se sa njenom promenom (iako je MAC adresa izuzetak
od ovog pravila).
• Kao što se mrežna adresa preslikava u MAC adresu,
tako se i imena obično preslikavaju u adrese.
• Npr. DNS (Domain Name System) preslikava ime
uređaja u njegovu IP adresu.