World Wide Web
Transcript of World Wide Web
S A D R Ž A J :
1. Uvod.......................................................1
2. Razvoj WWW.................................................2
2.1. Nastanak Interneta......................................2
2.2. Uloga Web servisa.......................................4
3. Komponente WWW..............................................6
3.1. HTTP protokol...........................................6
3.1.1. Nepostojane i postojane konekcije..............................8
3.1.2. Format HTTP poruke.......................................11
3.2. Format dokumenata (HTML)...............................15
3.2.1. Struktura HTML stranice....................................16
3.1.2. Sintaksa naredbi.........................................17
3.1.2. Osnovni elementi HTML jezika................................18
3.3. Server (Web server ili HTTP server)....................21
3.4. Klijent (Web čitač)....................................23
3.4.1. Kako radi Web čitač.......................................23
3.4.2. Najpopularniji Web čitači...................................24
3.5. Adresa dokumenta/resursa (URI/URL).....................26
4. Razvoj serverskog dela Web-a...............................30
4.1 Active Server Pages - ASP...............................31
4.2. Java Server Pages - JSP................................32
4.3. PHP....................................................33
4.4. Bezbednost.............................................34
4.5. Povećanje vremena dostupnosti servisa..................34
5. Razvoj klijentskog dela Web-a.............................36
5.1. JavaScript.............................................36
5.2. Dodaci (Plug-ins)......................................37
6. Pravci razvoja............................................39
6.1. Web 2.0................................................39
6.2. Web 3.0................................................41
Dejan Popović WWW – Servis Interneta
7. Zaključak.................................................43
L I T E R A T U R A...........................................44
1
Dejan Popović WWW – Servis Interneta
1. Uvod
U nekim budućim udžbenicima istorije, prethodni vek će, bez
sumnje, biti opisan kao vek munjevitog tehnološkog razvoja.
Pojava i razvoj računara i razvoj informacionih tehnologija
sigurno su u najvećoj meri potpomogle, ne samo sveopšti
tehnološki razvoj, već i razvoj u svim oblastima čovekovog
delovanja. Veliki broj stvari, gotovo nezamislivih pre samo
pedesetak, možda i manje godina, postale su deo naše
svakodnevnice.
Može slobodno da se kaže da je pojava Interneta dovela do
revolucije u mnogim sferama ljudskog delovanja, međutim,
verovatno najveći uticaj Internet je imao u oblastima razvoja
globalnog poslovnog okruženja i obrazovanju. Informacije, njihova
dostupnost i brzina razmene predstavljaju osnovu uspešnog
poslovanja savremenih preduzeća i predstavljaju nepresušni izvor
znanja za sve koji žele da uče, a Internet u tom kontekstu
predstavlja savršeno sredstvo za pronalaženje i distribuciju
informacija.
U okviru ovog rada biće prikazan jedan od servisa Interneta,
World Wide Web, servis koji se poistovećuje sa samim Internetom i
koji je svojim razvojem doprineo da trenutno preko 150 miliona
računara u svetu koristi usluge Interneta.
2
Dejan Popović WWW – Servis Interneta
U prvom delu, ukratko je prikazan razvoj WWW kroz istoriju i
uloga Web servisa. Jedan od razloga velike popularnosti Web-a je
njegova modularnost, pa drugi deo rada obrađuje komponente koje
čine Web. Uvođenje tehnologija koje omogućavaju dinamičko
kreiranje Web dokumenata je jedna od najvažnijih veza Web-a ka
informacionom okruženju. U radu su opisani i serverski i
klijentski deo WWW-a. U poslednjem poglavlju su opisani pravci
razvoja najpoznatijeg Internet servisa.
Od 1989. godine kada je nastao, pa do danas, Web je napravio
najbrži razvoj i najsnažniju primenu od svih tehnologija do sada.
Da li je moguće da se nešto, što deluje tako savršeno, a u isto
vreme i tako jednostavno i dalje razvija? Postoje li planovi za
to?
2. Razvoj WWW
2.1 Nastanak Interneta
Internet nije konzistentan sistem niti je namerno nastao.
Internet nema jedinstvenu ni konačnu strukturu. Internet je
proizvod niza slučajnih akcija, velikog broja parcijalnih mreža,
akumulisanih potreba i tehnoloških inovacija. Nastanak Interneta
nije bio motivisan stvaranjem boljeg, bržeg i jeftinijeg sistema
3
Dejan Popović WWW – Servis Interneta
prenosa podataka, već bezbednosnim razlozima. Internet je nastao
i egzistira kao umrežavanje mreža. Niko nije vlasnik Interneta
niti ga finansira. Internet nije pod kontrolom nijedne vlade niti
je komercijalna organizacija. Počeci onoga što se danas naziva
Internet sežu u prve godine šeste decenije prošlog veka kada je
formiran ARPAnet.
Agencija američke vlade ARPA (Advances Research Project
Agency) je započela razvoj tehnike i tehnologije za povezivanje
različitih kompjuterskih mreža koje bi mogle razmenjivati podatke
preko žice, a ne kao što se to do tada radilo, prenošenjem
magnetskih traka. Tako je 1969. godine formirana mreža ARPAnet
koja je povezivala četiri akademska centra. Ubrzo se uvidelo da
ovakav način povezivanja omogućava lakšu i bržu razmenu
informacija, pa se broj računara priključenih na mrežu konstantno
povećavao, a 1973. godine na ARPAnet je priključen i prvi čvor
izvan SAD, i to Univerzitet u Londonu.
Radi lakšeg umrežavanja razvijen je i uveden komunikacioni
protokol NCP (Network Control Protocol). 1975. godine uvedena je
i prva javna komercijalna usluga telnet, a istovremeno se kreira
i program za razmenu elektronske pošte. Mreža se koristi za
razmenu e-mail poruka, rad news grupa, pristup udaljenim
serverima, kao i za prenos datoteka. Sa postepenim razvojem mreže
i njenih servisa uočavaju se i nedostaci NCP protokola. Započinju
se istraživanja i rad na formiranju novog, kvalitetnijeg mrežnog
protokola i krajem sedamdesetih godina došlo se do skupa TCP/IP
4
Dejan Popović WWW – Servis Interneta
(Transmission Control Protocol/Internet Protocol) protokola.
1978. godine ovi protokoli su dobili svoj današnji oblik.
Agencija ARPA je 1980. godine počela da prebacuje računare
koji su bili priključeni u njene istraživačke mreže na nove
TCP/IP protokole i nastanak globalnog Interneta se vezuje za tu
godinu. 1983. godine Ministarstvo odbrane SAD je zahtevalo da svi
koji žele da se priključe na njihovu mrežu moraju da koriste
TCP/IP protokole. Iste godine, Agencija za komunikacije tog
ministarstva je podelila ARPAnet na dve zasebne mreže. Vojni deo
mreže je poznat kao MILNET (Military Network), a mreža namenjena
za dalja istraživanja je zadržala ime ARPAnet. U raznim državama
se formiraju akademske i komercijalne mreže koje se vremenom
priključuju na ARPAnet i tako nastaje Internet. NSF (National
Science Foundation) preuzima ulogu u daljem proširivanju TCP/IP
Interneta da bi bio dostupniji što većem broju naučnika. 1986.
godine NSF osniva 5 superkompjuterskih centara i povezuje ih
vlastitom mrežom NSFNET, što dovodi do ubrzanog umrežavanja
vladinih i obrazovnih ustanova. Razvija se novi protokol, NNTP
(Network News Transfer Protocol) koji omogućava rad news grupa.
Sredinom osamdesetih godina prošlog veka uvodi se sistem
označavanja kompjutera pomoću imena i domena (simboličkih
adresa), koji olakšava pamćenje adresa kompjutera, a prvi
registrovani domen je bio symbolics.com. Zbog uvođenja domena i
simboličkih adresa bilo je neophodno da se uvede novi sistem koji
pretvara simboličke adrese u numeričke IP adrese. Taj sistem je
nazvan DNS (Domain Name System).5
Dejan Popović WWW – Servis Interneta
ARPAnet prestaje sa radom devedesetih godina. Uvode se nove
usluge, kao što su WAIS (Wide Area Information Servers), Gopher i
usluga koja će postati najpoznatija i najkorišćenija usluga na
Internetu i koja će dovesti do pravog buma u broju priključivanja
na Internet, a to je WWW (World Wide Web).
World Wide Web, WWW ili češće samo Web je doneo Internet u
domove i firme miliona ljudi širom sveta. Web je poslužio i kao
platforma koja je omogućila puštanje u rad stotina novih
aplikacija kao što su, online trgovina akcijama i bankarstvo,
protok multimedijalnih usluga u realnom vremenu ili informacione
usluge. WWW je nastao u istraživačkom centru CERN u Ženevi
(Švajcarska), u periodu između 1989. i 1991. godine, a na osnovu
idejnog projekta koji je napravio Tim Berners–Li. On je projekat
zasnovao na idejama koje su proistekle iz prvih radova o
hipertekstu: Buša iz 40-ih godina prošlog veka i Teda Nelsona iz
60-ih godina prošlog veka. Berners–Li je sa saradnicima razvio i
prve verzije četiri ključne komponente Web-a, a to su: HTML, HTTP
i čitač Web-a. U početku, CERN-ovi čitači su imali samo grafički
interfejs, ali je već od 1992. godine veliki broj istraživača
razvijao čitače sa GUI (Graphical User Interface) interfejsima.
Sredinom poslednje decenije prošlog veka, male i velike kompanije
su uveliko počele da koriste Web servere i online trgovinu. 1996.
godine, kompanija Microsoft je počela da pravi svoje čitače i
nekoliko godina kasnije je postala apsolutni lider na tom polju,
jer je izašla kao pobednik iz borbe sa kompanijom Netscape, koja
6
Dejan Popović WWW – Servis Interneta
je do tada držala primat sa svojim web čitačem – Netscape
Communicator.
2.2 Uloga Web servisa
Web je nastao kao rezultat projekta čija je tema bila metoda
pronalaženja dokumenata na Internetu pomoću hiperveza (engl.
hyperlink) koje upućuju na mesta gde se dokumenti nalaze1.
Slika 1. – Princip povezivanja dokumenata na Web-u putem hiperveza
WWW koristi koncept hiperteksta i hipermedija. Kod hipertekst
okruženja, informacija je zapamćena u skupu dokumenata koji su
zajednički povezani koristeći koncept pokazivača. Neka stavka se
može pridružiti drugom dokumentu koristeći pokazivač (pointer).
Čitalac koji pretražuje po dokumentu može da predje na drugi1 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 164.
7
Dejan Popović WWW – Servis Interneta
dokument izborom (klikom) na stavke koje su povezane sa drugim
dokumentima. Na slici 2. prikazan je koncept hiperteksta. Dok
hipertekst dokumenti sadrže samo tekst, hipermedija dokumenti mogu
da sadrže slike, grafike, i zvučne tonove.
Slika 2. – Princip hiperteksta
Osnovna svrha hiperveza je bila jednostavno povezivanje
dokumenata na Web-u. Razvojem tehnologija na kojima se zasniva
Web, hiperveze su postale nosilac korisničke interakcije sa Web
aplikacijama.
World Wide Web Consortium (W3C) je organizacija koja je
nadležna za razvoj Web servisa. Na čelu te organizacije se nalazi
osnivač Web-a, Tim Berners-Li. W3C svoj uticaj na dalji razvoj
8
Dejan Popović WWW – Servis Interneta
Web-a vrši na osnovu preporuka standarda. Pre potpunog usvajanja,
W3C preporuke prolaze kroz sledeće nivoe zrelosti:2
Working Draft (WD)
Last Call Working Draft
Candidate Recommendation (CR)
Propose Recommendation (PR)
W3C Recommendation (REC)
WWW nije Internet, nego samo jedan od servisa Interneta.
3. Komponente WWW
Svoju veliku popularnost, Web servis pre svega duguje svom
modularnom i otvorenom dizajnu. Modularnost ovog servisa
Interneta se ogleda u razdvajanju jedne, relativno kompleksne
arhitekture na jednostavnije komponente. Pod osnovnim
komponentama Web-a podrazumevamo:3
protokol kojim se servis distribuira (HTTP)2 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 165.3 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 165.
9
Dejan Popović WWW – Servis Interneta
format dokumenata kojima se sadržaj servisa distribuira
(HTML)
server (Web server ili HTTP server)
klijent (Web čitač)
adresa dokumenta/resursa (URI/URL)
3.1 HTTP protokol
U samom srcu Web-a se nalazi protokol za prenos hiperteksta
HTTP (HyperText Transfer Protocol). HTTP ima sledeće
karakteristike:4
Aplikacioni nivo. HTTP radi na aplikacionom nivou. On
pretpostavlja pouzdan protokol prenosa orijentisan na
uspostavljanje veze kao što je TCP/IP, ali sam ne obezbeđuje
pouzdanost niti ponovno slanje.
Zahtev/odgovor. Kad se uspostavi sesija prenosa, jedna strana
mora da pošalje HTTP zahtev na koji druga strana odgovara.
Bez stanja. Svaki HTTP zahtev je celina; server ne čuva
istorijat prethodnih zahteva niti prethodnih sesija.
Dvosmerni prenos. U većini slučajeva, pretraživač zahteva Web
stranicu, a server pretraživaču prenosi njenu kopiju. HTTP
dozvoljava i prenos od pretraživača ka serveru (npr. kada
korisnik podnosi obrazac tzv. „formu“).4 D. Comer, Povezivanje mreža TCP/IP – Principi, protokoli i arhitekture, CET, Beograd, 2001., str. 530.
10
Dejan Popović WWW – Servis Interneta
Pregovaranje o mogućnostima. HTTP dozvoljava da pretraživači i
serveri pregovaraju o detaljima kao što je skup znakova koji će
se koristiti u prenosu. Pošiljalac može da navede mogućnosti koje
nudi, a primalac može da navede mogućnosti koje prihvata.
Podrška za keširanje. Da bi se poboljšalo vreme odgovora,
pretraživač kešira primerak svake Web stranice koju pribavi. Ako
korisnik ponovo zatraži istu stranicu, HTTP dozvoljava
pretraživaču da proveri na serveru da li se sadržaj stranice
promenio od kada je kopija keširana.
Podrška za posrednike. HTTP dozvoljava da mašina na putanji između
pretraživača i servera igra ulogu proksi servera koji kešira Web
stranice i odgovara na zahteve pretraživača iz svog keša.
Protokol HTTP definiše način na koji Web klijenti (npr.
čitači), zahtevaju Web strane od Web servera, kao i načini na
koji Web serveri šalju tražene strane klijentima. Kada korisnik
zatraži neku Web stranicu (mišem izabere hipervezu), čitač šalje
serveru HTTP poruke zahtevajući objekte sa date stranice. Server
prima ove zahteve i klijentu odgovara HTTP porukama u kojima se
nalaze traženi objekti (slika 3).
11
Dejan Popović WWW – Servis Interneta
Slika 3. – HTTP transakcija
Protokol HTTP kao osnovni transportni protokol koristi TCP.
Komunikacija se odvija na sledeći način: HTTP klijent najpre
treba da inicira TCP konekciju sa serverom. Nakon uspostavljanja
konekcije, procesi čitača i klijenata pristupaju TCP-u kroz svoje
sokete. Na klijentskoj strani soket predstavlja vrata između
klijentskog procesa i TCP konekcije; na serverskoj strani to su
vrata između serverskog procesa i TCP konekcije. Klijent šalje
svoje HTTP poruke sa zahtevima preko svog soketa i preko njega
prima i sve HTTP odgovore. Slično tome, HTTP server iz svog
soketa prima poruke i svoje odgovore ponovo šalje kroz soket.
Onog trenutka kada klijent pošalje svoju poruku ka svom soketu,
ona više nije u njegovim rukama, već u rukama protokola TCP. Ovaj
protokol obezbeđuje pouzdanu uslugu transfera podataka protokolu
HTTP. To znači, da svaka poruka sa HTTP zahtevom koju emituje
neki klijent, mora neizmenjena da stigne do servera. Na isti
12
Dejan Popović WWW – Servis Interneta
način, svaka poruka sa HTTP odgovorom koju server pošalje, mora
neizmenjena da stigne do klijenta.
Važno je napomenuti i da server šalje tražene datoteke
klijentu bez ikakvog vođenja evidencije informacija o statusu
klijenta. Dakle, ako neki klijent u veoma kratkom roku, npr. u
roku od nekoliko sekundi, dva puta zatraži isti objekat, server
neće odgovoriti obaveštenjem da ga je upravo uslužio. On će
zahtevani objekat poslati ponovo, ne shvatajući da je to već
jednom učinio. Zbog toga se za HTTP server kaže da je protokol
bez nadgledanja stanja, jer ne održava nikakve infomacije o
klijentima.
3.1.1 Nepostojane i postojane konekcije
Protokol HTTP može da koristi i postojane i nepostojane
konekcije. Iako ovaj protokol u svom podrazumevanom režimu
koristi postojane veze, HTTP klijenti i serveri mogu da se
konfigurišu i tako da koriste nepostojane konekcije.
Nepostojane konekcije
Sada ćemo ukratko objasniti postupak prenošenja Web stranice
od servera do klijenta putem nepostojanih konekcija. Pretpostavka
je da se stranica sastoji od osnovne HTML datoteke i deset JPEG
(Joint Photographic Experts Group) slika i da se svih 11 objekata
nalazi na istom serveru. Neka URL (Uniform Resource Locator)
osnovne HTML datoteke bude:
13
Dejan Popović WWW – Servis Interneta
www.nekaskola.edu/nekoodeljenje/home.index
Evo šta se dešava:
1. HTTP klijent inicira TCP konekciju sa serverom
www.nekaskola.edu na portu 80, koji je podrazumevani broj
porta za HTTP protokol
2. HTTP klijent šalje serveru poruku sa HTTP zahtevom preko
soketa koji je povezan sa TCP konekcijom koja je
uspostavljena u prethodnom koraku. U okviru ove poruke
nalazi se ime putanje /nekoodeljenje/home.index
3. HTTP server prima poruku sa zahtevom preko soketa i
njemu pridružene konekcije, učitava objekat
/nekoodeljenje/home.index iz svog prostora za skladištenje
(RAM memorija ili disk) i zatim ga enkapsulira u poruku
sa HTTP odgovorom koju, preko svog soketa, šalje
klijentu
4. HTTP server potom nalaže protokolu TCP da zatvori TCP
konekciju. (Protokol TCP ovu konekciju ne prekida sve
dok se sasvim ne uveri u to da je poruka neizmenjena
stigla do klijenta)
5. HTTP klijent prima poruku sa odgovorom i TCP konekcija
se prekida. U poruci je naznačeno da je enkapsulirani
objekat HTML datoteka. Klijent izvlači traženu HTML
datoteku iz poruke, zatim je ispituje i pronalazi
reference do deset JPEG objekata
14
Dejan Popović WWW – Servis Interneta
6. Potom se za svaki od referenciranih JPEG objekata
ponavljaju prva četiri koraka navedenog postupka
Primljena Web stranica se preko čitača prikazuje korisniku.
Postoji mogućnost da dva različita čitača prikažu primljenu Web
stranicu na dva različita načina. Ali, to nema nikakve veze sa
HTTP protokolom, već sa Web čitačima. HTTP protokol ne definiše
način na koji će čitač da prikazuje Web stranice.
U navedenom postupku su korišćene nepostojane veze, imajući u
vidu da je svaka TCP konekcija zatvarana nakon što je server
poslao objekat. Ona ne traje, odnosno ne postoji za ostale
objekte. Svaka TCP konekcija prenosi tačno jednu poruku sa
zahtevom i tačno jednu poruku sa odgovorom. U ovom primeru, od
trenutka kada je korisnik zatražio Web stranicu uspostavljeno je
11 TCP konekcija.
Ukoliko želimo da procenimo vreme koje je potrebno da prođe
od trenutka kada klijent zahteva HTML datoteku, pa do trenutka
kada se prenese cela tražena datoteka na stranu klijenta,
potrebno je da se definiše vreme povratnog puta (round-time trip,
RTT). RTT je vreme koje je potrebno malom paketu za put od
klijenta do servera i natrag. RTT vreme obuhvata kašnjenja usled
prostiranja paketa, zatim kašnjenja usled stajanja u redu u
posredujućim ruterima i komutatorima, kao i kašnjenja usled
obrade paketa.
15
Dejan Popović WWW – Servis Interneta
Slika 4. – TCP konekcija
Na slici 4. se može videti da čitač odmah inicira TCP
konekciju sa Web serverom. Uspostavljanje konekcije obuhvata
„trodelnu sinhronizaciju“ – klijent šalje mali TCP segment
serveru, server potvrđuje i odgovara malim TCP segmentom i,
konačno, klijent serveru šalje potvrdu o prijemu. Jedan RTT
ciklus se završava nakon obavljena prva dva dela sinhronizacije.
Postojane konekcije
Nepostojane veze imaju svoje nedostatke. Za svaki traženi
objekat mora da se uspostavi i održava nova konekcija. Svakoj od
ovih konekcija se dodeljuje privremena TCP memorija, a uz to, na
klijentu i serveru je neophodno održavanje parametara date
konekcije.
Kod postojanih konekcija, server nakon slanja svog odgovora
klijentu ostavlja TCP konekciju otvorenom i njome mogu da se
pošalju i svi naknadni zahtevi i odgovori koje razmene klijent i
server. To znači, da se istom, postojanom TCP konekcijom može
poslati čitava Web stranica. Ne samo to, istom postojanom TCP
konekcijom klijentu može da se pošalje i više Web stranica
ukoliko se one nalaze na istom serveru. Uobičajeno je da HTTP
server prekida ovakvu vezu nakon isteka određenog vremena njenog
nekorišćenja. Ovaj vremenski interval je moguće podesiti.
Postoje dve vrste postojanih konekcija:5
5 J. Kurose, K. Ross, Umrežavanje računara, CET, Beograd, 2008., str. 93.17
Dejan Popović WWW – Servis Interneta
konekcije bez cevovodne obrade
konekcije sa cevovodnom obradom
U obliku konekcije bez cevovodne obrade klijent može da izda
novi zahtev tek nakon prijema odgovora na prethodni zahtev. U
ovom slučaju, klijent se suočava sa jednim RTT ciklusom za
traženje i prijem svakog referenciranog objekta (deset slika u
prethodno navedenom primeru). Još jedan nedostatak konekcija bez
cevovodne obrade je i taj, što nakon slanja objekta sa servera,
postojana konekcija se nalazi u stanju mirovanja, ne radi baš
ništa, čekajući dolazak novog zahteva. Dok se konekcija nalazi u
stanju mirovanja, serverski resursi se ne koriste na optimalan
način.
Kod druge vrste konekcija, cevovodnih konekcija, HTTP klijent
šalje zahtev čim naiđe na neku referencu. To znači da on može da
izda uzastopne zahteve za referencirane objekte, odnosno, može da
pošalje novi zahtev pre nego što dobiju potvrdu o prijemu
prethodnog. Kad primi uzastopne zahteve, server na isti način,
uzastopno, šalje tražene objekte. Kod ovog tipa postojanih
konekcija moguće je da samo jedan RTT ciklus bude potreban za
prijem svih referenciranih objekata. Cevovodna TCP konekcija se i
kraće nalazi u stanju mirovanja.
3.1.2 Format HTTP poruke
Sprecifikacije protokola HTTP obuhvataju i definicije formata
HTTP poruka. Postoje dve vrste HTTP poruka:
18
Dejan Popović WWW – Servis Interneta
HTTP poruke sa zahtevima
HTTP poruke sa odgovorima
HTTP poruka sa zahtevima
Uobičajena HTTP poruka sa zahtevom ima sledeći izgled:
GET /nekidir/stranica.html HTTP/1.1
Host: www.nekaskola.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr
Prvi red HTTP poruke sa zahtevom se naziva red zahteva, a svi
ostali redovi su redovi zaglavlja. Red zahteva ima tri polja:
polje za metod, URL polje i polje sa HTTP verzijom. Ukratko ćemo
objasniti redove zaglavlja iz navedenog primera: Linijom
zaglavlja Host: www.nekaskola.edu navodi se računar na kojem se nalazi
traženi objekat. Redom Connection: close čitač dalje govori serveru da
ne želi da koristi postojane veze, već da se veza prekida čim
server pošalje traženi objekat. Redom User-agent: Mozilla/4.0 navodi se
korisnički agent, odnosno, vrsta čitača koji je poslao zahtev.
Ovaj red je veoma koristan jer omogućava serveru da pošalje
različite verzije istog objekta različitim tipovima korisničkog
agenta. I na kraju, zaglavljem Accept-language: fr se navodi koju
verziju traženog objekta bi korisnik voleo da primi, ukoliko
19
Dejan Popović WWW – Servis Interneta
takva postoji na serveru, u suprotnom, server će da pošalje
podrazumevanu verziju traženog objekta. U ovom slučaju, korisnik
bi voleo da primi francusku verziju objekta.
Slika 5. Opšti format poruke sa zahtevom
Na slici 5. je prikazan opšti format slike sa zahtevom. Opšti
format u potpunosti odgovara prethodnom primeru. Nakon redova
zaglavlja (i dodatnih znakova za prelazak u novi red i povratak
na početak reda) sledi „telo poruke“. Kod metoda GET ono je
prazno, ali se koristi kod metoda POST. HTTP klijent često
koristi metod POST kada korisnik ispunjava neki obrazac, na
primer, kada u odgovarajuće polje pretraživača upisuje ključne
reči. Kod poruke tipa POST korisnik još uvek od Web servera traži
određenu stranicu, ali će njen konketan sadržaj zavisiti od onoga
što je korisnik upisao u poljima obrasca. Ukoliko je kao metod
izabran POST, u tom slučaju se u telu poruke nalazi ono što je
korisnik upisao u poljima obrasca.
Metod HEAD je veoma slična metodu GET. Kada primi zahtev sa
metodom HEAD, server odgovara HTTP porukom, ali izostavlja
traženi objekat.
HTTP poruka sa odgovorom20
Dejan Popović WWW – Servis Interneta
HTTP poruka koja bi mogla da predstavlja odgovor na poruku sa
zahtevom koju smo ranije prikazali bi mogla da izgleda ovako:
HTTP/1.1 200 OK
Connection: close
Date: Thu, 03 Jun 2010 12:00:15 GMT
Server: Apache/2.0 (Unix)
Last-Modified: Sun, 9 May 2010 09:23:24 GMT
Content-Lenght: 6821
Content-Type: text/html
(podaci podaci podaci podaci podaci podaci ...)
Ova poruka ima tri dela: inicijalni statusni red, šest redova
zaglavlja i telo poruke. Najvažniji deo poruke je telo poruke,
jer se ovde nalazi traženi objekat (podaci podaci podaci podaci
podaci podaci ...). Statusni red ima tri polja – polje sa
verzijom protokola, statusni kod i odgovarajuću poruku sa
statusom. U ovom primeru statusnim kodom je navedeno da server
koristi protokol HTTP/1.1 i da je sve u redu, OK, odnosno, da je
server pronašao i poslao traženi objekat.
Redovi zaglavlja: server pomoću reda Connection: close govori
klijentu da će nakon slanja traženog objekta prekinuti TCP
konekciju. Redom Date: se navode tačan datum i vreme kada je server
21
Dejan Popović WWW – Servis Interneta
generisao i poslao HTTP odgovor. Redom Server: naznačeno je da je
poruku generisao Web server Apache, ovaj red odgovara redu User-
agent: HTTP poruke sa zahtevom. U redu Last-Modified: navodi se kada
je traženi objekat napravljen ili poslednji put izmenjen. U
zaglavlju Content-Lenght: navodi se broj bajtova objekta koji se
šalje. I na kraju, redom zaglavlja Content-Type: naznačava se tip
datoteke koja se nalazi u telu poruke (u ovom slučaju u pitanju
je HTML tekst).
Slika 6. – Opšti format poruke sa odgovorom
Prilikom pristupa Web stranama na Internetu mogu se desiti i
greške. Server na kome se nalazi Web prezentacija vraća poruku o
statusu greške. Statusni kod je trocofreni broj gde prva cifra
označava opštu kategoriju odgovora.
1** - Informativne poruke (primer: 101 – Switching protocols –
Server je promenio protokol)
2** - Uspešne poruke (200 – OK – Zahtev je obrađen i
odgovarajući podaci slede)
22
Dejan Popović WWW – Servis Interneta
3** - Poruke o preusmeravanju (304 – Not Modified – Zahtevani
dokument ne ispunjava navedeni uslov)
4** - Poruke o grešci kod klijenta (404 – Not Found – Zahtevani
dokument ne postoji na datoj lokaciji)
5** - Poruke o serverskim greškama (503 – Service Unavailable –
Zahtev nije završen. Server je preopterećen)
3.2 Format dokumenata (HTML)
HTML (Hyper Text Markup Language) je jezik iz porodice jezika
za označavanje (Markup Language). Jezici za označavanje se
ponekad svrstavaju u programske jezike, a to je pogrešno. Uloga
ovih jezika je da označe delove dokumenata. HTML stranice imaju
ekstenziju .html ili .htm, a nalaze se u određenom direktorijumu
servera vezanog na Internet, što ih čini dostupnim na Web-u. Za
generisanje HTML stranice postoji veliki broj tekstualnih i
grafičkih editora. Kao tekstualni editor dovoljan je i program
Notepad, a najpoznatiji i najkorišćeniji grafički editor je
program Dreamweaver, proizvod kompanije Adobe.
Hipertekstualni dokument stvara se ubacivanjem HTML oznaka u
običnu tekstualnu datoteku. Jezik HTML samo opisuje izgled
stranice. U njemu piše, na primer, „tu i tu ide slika iz te i te
datoteke“, ali sama HTML datoteka ne sadrži sliku, već se ona
posebno prenosi od servera do pretraživačkog programa. Dakle, kad
kažemo „WWW dokument“ ne radi se o jednoj datoteci, već o
23
Dejan Popović WWW – Servis Interneta
konačnom prikazu dobijenom na ekranu, koji je u pravilu sačinjen
od jedne osnovne tekstualne HTML datoteke koja opisuje izgled
stranice i od niza grafičkih datoteka.
Za HTML se kaže da je „maternji jezik“ Web-a kojim se
određuje formacija, sadržaj i funkcija nekog hipetekstualnog
dokumenta. Njime se kombinuje nekoliko važnih elemenata: namenjen
je kontroli načina na koji će pretraživački programi prikazati
dokument, kreiranju hipertekstualnih veza između različitih mesta
u dokumentu, kreiranju hiperveza između različitih dokumenata, te
kreiranju hiperveza s drugim servisima na Internetu. Takođe, HTML
omogućava da u dokumente ubacujemo grafiku, zvuk i druge
multimedijalne zapise. Kako su HTML dokumenti mesta na kojima je
većina pravih podataka sačuvana, dobar deo kreiranja jednog
celovitog Web servera sastoji se od njihovog pisanja.
Stranica na World Wide Web-u sastoji se od skupa datoteka
smeštenih na disku nekog računara na kojem je instaliran Web
server. Tačna lokacija tih datoteka određena je URL adresom. Web
stranica se u većini slučajeva sastoji od teksta i slike, s tim
da se sav tekst i svaka pojedina slika nalaze u zasebnoj
datoteci. Slikama se uvek pristupa pomoću imena datoteke u kojima
su smeštene, pa se tako jedna te ista slika može koristiti više
puta unutar jedne ili više različitih stranica. Svim drugim
multimedijalnim elementima pristupa se kroz pomoćne aplikacije
koje pokreće pretraživački program kada korisnik klikne na
odgovarajuću hipertekstualnu vezu.
24
Dejan Popović WWW – Servis Interneta
3.2.1 Struktura HTML stranice
Datoteka koja se sastoji od teksta obogaćenog HTML naredbama
naziva se HTML dokumentom. Svaki HTML dokument započinje naredbom
<HTML>, a završava sa </HTML>. On se sastoji od dva dela;
zaglavlja koje je obuhvaćeno naredbama <HEAD> i </HEAD>, i tela
koje se nalazi unutar oznaka <BODY> i </BODY>. Zaglavlje sadrži
neke osnovne informacije o dokumentu i sve što se napiše u
zaglavlju, ne prikazuje se u prozoru Web čitača, dok se telo
sastoji od teksta i naredbi kojima se taj tekst oblikuje.
Najjednostavnija informacija koju možemo smestiti unutar
zaglavlja je naslov naše Web stranice, a to se čini upotrebom
naredbe <TITLE>. Na sledećem primeru videćemo kako izgleda
najjednostavniji HTML dokument:
<HTML>
<HEAD>
<TITLE>Diplomski rad</TITLE>
</HEAD>
<BODY>
Ovo je primer za diplomski rad.
</BODY>
</HTML>
25
Dejan Popović WWW – Servis Interneta
Sve ono što je napisano izmedju tagova <body> i </body>
predstavlja telo dokumenta i pojaviće se kao sadržaj
prezentacije u prozoru browsera (čitača). Naredbe <BODY>
razdvajaju dokument u dve celine, a ne reči ili razmaci koje smo
ostavili praznim između redova.
3.2.2 Sintaksa naredbi
HTML naredbe mogu biti pune ili prazne. Pune naredbe odnose
se na tekst koji je njima obuhvaćen, a sastoje se od početne i
završne oznake. Početna oznaka započinje simbolom < (manje od),
iza čega se navodi sama naredba te eventualno neki dodatni
argumenti. Kraj početne oznake prepoznaje se po simbolu > (veće
od). Završna oznaka razlikuje se od početne po tome što ne sme
posedovati nikakve dodatne argumente, ali zato između simbola < i
naredbe uvek mora sadržati kosu crtu (/). Primer pune naredbe bio
bi: <A HREF=„informatika.html“>Saznajte sve o informatici</A> U
ovom primeru početna oznaka je <A HREF=„informatika.html“>, a
završna </A>. Početna oznaka sadrži i jedan argument. Za razliku
od punih naredbi kojima se obuhvatao određeni deo teksta, prazne
nam služe kako bismo nešto mogli ubaciti unutar teksta, poput
slike, vodoravne linije ili oznake za novi red. Prazne naredbe ne
dolaze u parovima, pa tako kod njih postoji samo početna oznaka,
a ne i završna koja bi sadržala kosu crtu. Kao i kod punih, tako
se i kod praznih naredbi mogu koristiti argumenti kojima se
određuju neke konkretne vrednosti. Sledeći primer prikazuje
naredbu IMG kojom se unutar teksta ubacuje slika. Ta naredba uvek
26
Dejan Popović WWW – Servis Interneta
dolazi s argumentom SRC kojem se dodeljuje ime datoteke koja
sadrži željenu sliku.
<IMG SRC="fakultet.gif"!> Slika fakulteta
Kod primera za punu oznaku upotrebili smo naredbu A koja se
koristi za definisanje hipertekstualnih veza. Izraz „Saznajte sve
o informatici“ u pretraživačkom programu bi se kod tog primera
prikazao drugačije od ostalog teksta, najčešće označen plavom
bojom i podvučen, kako bi se korisniku dalo do znanja da će se
klikom na njega učitati nova stranica. U ovom slučaju radi se o
stranici koja je sadržana u dokumentu informatika.html, koji smo
dodelili kao vrednost argumentu HREF (Hypertext REFerence).
HTML naredbe mogu se ugnježdavati, tj. koristiti jedna unutar
druge, pa se tako mogu i koristiti hipertekstualne veze u listama
ili kosi tekst unutar podebljanog. Neke se naredbe, međutim, ne
smeju kombinovati kao, na primer, hipertekstualne veze unutar
drugih hipertekstualnih veza. Postoje i situacije kada je
dozvoljeno kombinovanje, ali ga pretraživački programi ignorišu.
To se, na primer, događa kod upotrebe naredbi za tekstualne
stilove unutar naslova. Unutar HTML dokumenta možete koristiti i
komentare kako biste svoj rad učinili što preglednijim, kao i kod
drugih programskih jezika. Svaki čitač će u potpunosti ignorisati
komentare, što znači da unutar komentara možete da upisujete čak
i HTML naredbe. To, međutim, nije preporučljivo budući da postoje
starije verzije nekih Web čitača koje ne prepoznaju oznake za
komentare. Komentari se moraju smestiti unutar oznaka <!-- i -->,27
Dejan Popović WWW – Servis Interneta
a ne smeju se ugnježdavati. Postoji nepisano pravilo da se svaki
pojedini red komentara obuhvata ovim oznakama, kako bi HTML
dokument bio što pregledniji.
3.2.3 Osnovni elementi HTML jezika
HTML naredbe možemo podeliti u dve posebne kategorije –
postoje naredbe koje utiču na strukturu stranice, kao i naredbe
koje su namenjene promeni tekstualnih stilova. Među one prve
možemo ubrojiti naredbe za definisanje naslova, listi, tabela,
okvira i drugih sličnih elemenata, a zajedničko svojstvo im je da
prilikom svake upotrebe automatski stvaraju kraj odlomka u tekstu
koji ih okružuje. Zato ih i nazivamo naredbama koje formiraju
strukturu stranice. Stilske HTML naredbe definišu izgled teksta,
u šta ubrajamo promenu veličine pisma, podebljavanje ili nagib
slova, te druge radnje koje ne utiču na opšti raspored elemenata
na stranici. Naredba za kreiranje hipertekstualne veze, spada u
drugu grupu, budući da vizuelno menja samo deo neke rečenice
unutar tekstualnog odlomka i nema nikakvog uticaja na strukturu
stranice. HTML oznake pomoću kojih se unutar stranice ugrađuju
slike pripadaju posebnoj skupini naredbi. Navešćemo nekoliko
primera HTML naredbi i objasniti njihovo značenje:
Naslovi (engl. headers) se kodiraju prema relativnoj dubini
ciframa od 1 do 6. Tag za naslov ima opšti oblik: <Hn> Naslov
nivoa n </Hn>, gde n uzima vrednosti od 1 do 6.
28
Dejan Popović WWW – Servis Interneta
Odeljak (engl. division) se opisuje zagradama <DIV> ... </DIV>.
Ovaj tag može imati atribut za pozicioniranje ALIGN sa
vrednostima CENTER, RIGHT ili LEFT.
Pasus (engl. paragraph) se obeležava zagradama <P> ... </P>.
Ukoliko u ravnom tekstu sledi pasus za pasusom, tag </P> se može
izostaviti. Ovaj tag može imati atribut za pozicioniranje ALIGN
sa istim vrednostima kao tag <DIV>.
Novi red (engl. break) se obeležava etiketom <BR>. Ovo je
prosti tag: ne postoji kraj taga </BR>.
Razdvojna linija (engl. rule) se obeležava etiketom <HR> sa
opcionim atributom NOSHADE. Ovo je prosti tag: ne postoji kraj
taga </HR>.
Formatiranje teksta
Ako se drugačije ne naglasi tekst unutar HTML stranice je
poravnat uz levu stranu. Ako se želi da naslov, ili bilo koji
drugi element stranice, bude centriran, treba ga staviti izmedju
tagova <center> i </center> što će dati sledeći rezultat:
OVO JE CENTRIRAN TEKST
izvršavanjem sledećeg koda
<center> OVO JE CENTRIRAN TEKST </center>
Ukoliko se posebno ne naglasi kojim fontom se želi da bude
ispisan tekst na stranici, browser će koristiti podrazumevani29
Dejan Popović WWW – Servis Interneta
font (a to je obično Times New Roman). Rad sa fontovima u okviru
HTML stranice se obavlja pomoću <font> taga. Ovaj tag može imati
sledeće atribute: face, size i color.
Atributom face definišemo tip fonta kojim se želi da tekst
bude ispisan. Na jednoj stranici se može koristiti i više
različitih fontova. Mora se vodititi računa da korisnik koji
učitava stranicu mora imati instaliran font koji je naveden na
svom računaru. U suprotnom njegov browser će prikazati tekst u
podrazumevanom (default) fontu. Zato ne treba koristiti neke
egzotične fontove, već treba upotrebljavati samo široko
rasprostranjene fontove.
Ako se želi da stranica bude ispisana na primer "Comic Sans
MS" fontom onda treba navesti sledeći kod:
<font face="Comic Sans MS"> Ovde dodje vas tekst. </font>
i dobija se rezultat:
Ovde dodje vas tekst.
Ako se koriste neki fontovi koji se retko koriste onda bi
bilo dobro navesti i nekoliko alternativnih fontova, jedan za
drugim, odvojenih zarezom. Ako posetilac stranice na svom
računaru nema instaliran prvi font sa liste, on će ga prikazati u
sledećem sa liste, i tako dalje.
<font face="Comic Sans MS,Arial,Courier">
30
Dejan Popović WWW – Servis Interneta
Evo primera nekoliko popularnih fontova koji se mogu
koristiti na svojim stranicama:
Verdana Arial Courier Times New Roman Comic Sans MS
Kod je sledeći:
<center>
<font face="Verdana" size="3">Verdana</font><br>
<font face="Arial" size="3">Arial</font><br>
<font face="Courier" size="3">Courier</font><br>
<font face="Times New Roman" size="3">Times New
Roman</font><br>
<font face="Comic Sans MS" size="3">Comic Sans MS</font><p>
</center>
Pored načina ispisivanja teksta, u okviru stranice može se
upravljati i veličinom slova. Za ove potrebe koristi se size
atribut unutar font taga. HTML razlikuje 7 veličina slova koje
nose vrednosti od 1 do 7. Podrazumevana veličina je 3. Razmera
slova je data:
31
Dejan Popović WWW – Servis Interneta
size 1, size 2, size 3, size 4, size 5, size 6,
size 7.Poslednja osobina koja se može menjati je boja slova u okviru
HTML stranice. Za te potrebe koristi se atribut color font taga.
Za ovaj atribut važi isto pravilo kao i kod definisanja boja
<body> tagom. Dakle, ako se želi dobiti sledeći tekst ispisan
crvenom bojom:
Ovde ide vas tekst.
Pomoću sledećeg dela koda:
<font color="#ff0000"> Ovde ide vas tekst. </font>
Primer HTML stranice:
32
Dejan Popović WWW – Servis Interneta
Slika 7. – Primer HTML stranice
3.3 Server (Web server ili HTTP server)
Osnovna uloga Web (nekad se naziva i HTTP) servera je da
osluškuje na portu 80 (podrazumevani port za HTTP protokol), na
dobijeni zahtev pronađe traženi dokument u lokalnom skladištu
dokumenata i njegov sadržaj pošalje klijentu ili, u slučaju da
traženi dokument ne postoji, klijentu pošalje poruku o grešci.
Trenutno najpopularniji softver ovog tipa je Apache HTTP server
čiji je autor Apache Foundation.
Web sajt je kolekcija Web stranica. Web stranice su kreirane
korišćenjem HTML-a. Da bi Web sajt bio svima dostupan, neophodno
je da bude smešten na računar koji je neprekidno konektovan na
Internet, odnosno na Web server. Postoji i nekoliko zahteva koje
server mora da ispunjava: treba da bude brz, da ima veliki
memorijski kapacitet hard diska i dovoljno RAM memorije.
Najvažnije od svega je da ima stalnu (statičku) IP adresu.
Ukoliko dođe do promene IP adrese, Web sajt koji je smešten na
serveru neće biti pronađen i klijent će dobiti poruku da server
ne može da pronađe Web sajt. Poruku o grešci Web serveri najčešće
oblikuju u formi pravilnog HTML-a, jer je u većini slučajeva
zahtev stigao od čitača, a on će pokušati da prikaže sve ono što
je dobio od servera.
U svom najjednostavnijem obliku, Web stranice su statičke
datoteke smeštene na nekom serveru koje „čekaju“ da budu
33
Dejan Popović WWW – Servis Interneta
zatražene i koje se, bez bilo kakvih izmena, dostavljaju
klijentu.
Slika 8. – Statički dokument
Dinamički dokumenti nemaju unapred definisani format. Umesto
toga, dinamički dokument se kreira od strane Web servera, uvek
kada browser zahteva dokument. Kada zahtev pristigne Web server
izvršava aplikacioni program koji kreira dinamički dokument.
Server vraća izlaz programa kao odziv browseru koji je zahtevao
dokument. S obzirom da se nov dokument kreira kod svakog zahteva,
sadržaji dinamičkog dokumenta mogu da variraju od jednog zahteva
do drugog.
34
Dejan Popović WWW – Servis Interneta
Slika 9. – Dinamički dokument
3.4 Klijent (Web čitač)
Osnovna uloga Web čitača (engl. Web browser, User Agent) je
da zahteve korisnika za HTML dokumentima (i ostalim resursima)
prevodi u instrukcije HTTP protokola, šalje HTTP zahteve,
prihvata HTML dokumente i prezentuje ih korisnicima. Web čitač
ima zadatak da dekomponuje URL i u skladu sa rezultatom formira
zahtev.
Web browser je program kojim se pregledaju Web stranice na
Internetu. Web browseri omogućuju korisnicima pregledanje teksta,
slika i drugih informacija koje se nalaze na Web stranicama.
Tekst i slike mogu imati hiperveze na ostale stranice pa na taj
način korisnici mogu jednostavno i brzo pronaći tražene
informacije.
1994. godine je Marc Andreesen (vođa projekta NCSA Mosaic)
pokrenuo vlastitu kompaniju - Netscape i izdao Netscape
Navigator. Ubrzo nakon toga je i Microsoft izbacio Internet
Explorer (IE) - čime je započet rat Web čitača. Zahvaljujući
činjenici što je IE dolazio instaliran sa Windows operativnim
sistemima, Microsoft je uspeo da postigne da se danas koristi u
više od 80% računara.
Netscape je odgovorio tako što je izvorni kod Netscape-a
pretvorio u otvoreni kod (tj. open source), no ni to nije uspelo
zaustaviti opadanje zastupljenosti tog browsera. Ipak, iz tog35
Dejan Popović WWW – Servis Interneta
poteza se razvio Web browser kog danas većina stručnjaka smatra
za najboljeg i najsigurnijeg - Mozilla.
3.4.1 Kako radi Web čitač
Klijent je individualni računar ili radna stanica na mreži
koja pristupa aplikacijama i informacijama preko središnjeg
računara koji se naziva server. Web čitač je klijentska
aplikacija koja se pokreće na klijentu (lokalnom računaru) i
dopušta pristup i prikazivanje sadržaja koji zahtevamo od
servera. Server i Web čitač rade preko Hyper Text Transfer
Protocol ili HTTP-a, koji definiše pravila za načine, kako
datoteke moraju biti zahtevane i prosleđivane.
Web browseri rade na sledeći način: Klikom na Web stranicu,
Web browser šalje zahtev serveru specifikovanom u URL-u linka.
Server prima zahtev i određuje datoteku i tip datoteke koja je
zahtevana konsultovanjem svoje MIME (Multipurpose Internet Mail
Extension) tabele. Tada šalje traženu datoteku zajedno sa tipom
datoteke natrag browseru. Browser zahteva ostale medije koji su
mu potrebni da oblikuju stranicu. Browser interpretira MIME
tabelu da odredi može li prikazati sam datoteku ili datoteka
treba plug-in za prikaz. I na samom kraju korisnik dobija celu
stranicu na pregled.
3.4.2 Najpopularniji Web čitači
36
Dejan Popović WWW – Servis Interneta
Statistike pokazuju da su danas najpopularniji Web browseri:
Microsoft Internet Explorer, Firefox, Safari, Chrome, Opera i
Netscape. Internet Explorer zauzima većinski deo tržišta sa 66%,
zatim sledi Firefox sa 24%, Safari sa 4%, Google Chrome sa 3% i
Opera sa 2%. Svi ostali browseri zauzimaju udeo na tržištu manji
od 1%.
Internet Explorer je besplatan Web browser zatvorenog koda
kompanije Microsoft, koji dolazi u sklopu operativnog sistema
Microsoft Windows. To je najkorišćeniji čitač od 1999. godine do
danas. U zadnje vreme Internet Explorer se nalazi na meti brojnih
kritika koje se prvenstveno odnose na sigurnost. A kako Microsoft
nije pravovremeno odgovorio na sve sigurnosne zahteve, ostali Web
čitači postaju sve popularniji. Najnovija verzija IE je 8. Neke
novosti u novoj verziji su: 6
zaštita od malware i phishing napada
omiljene lokacije jednim klikom
RSS feedovi na traci sa vezama
napredne opcije: search suggestions i visual search
web isečak i akcelerator
mnogo zanimljivih lokalnih dodataka (Plan plus, Halo
oglasi, Search b92.net…)
6 http://www.microsoft.com/scg/ie8/default.aspx37
Dejan Popović WWW – Servis Interneta
Mozilla Firefox je open source Web čitač i drugi je
najpopularniji Web čitač koji je danas sve zastupljeniji i
popularniji. Nudi mnogobrojne opcije kao i Explorer, ali i mnogo
dodatnih opcija. Ovaj browser se posebno ističe zbog svojih add-
ona koji se mogu besplatno nabaviti, te oni uvelike olakšavaju
svakodnevni rad. Napravljen je na temelju otvorenog koda
originalne Mozille, a ona koristi Gecko engine od Netscape
Explorera. Mozilla Firefox je trenutno u verziji 3.6, a popularna
je zbog svoje cene (besplatna je), otvorenog koda i dobrom
zaštitom od različitih virtualnih napada. Isto tako daje podršku
za UTF-8 kodiranje slova, dok neki drugi preglednici s tim imaju
problema, pa onda stranica ne izgleda onako kako bi trebala.
Safari je Web browser koji je originalno bio kreiran za Apple
računare i tek nedavno je postao dostupan i za Windows korisnike.
Neke mogućnosti Safari-a su dodavanje bookmark-a direktno na
traku sa alatima, da budu brže dostupni, surfovanje u tabovima,
automatsko popunjavanje formi i slično. Takođe, nudi i Snapback
koji dopušta brzo i lako vraćanje na originalne rezultate
traženja nakon klika na stranicu iz rezultata. On nas rešava
potrebe da koristimo dugme za vraćanje korak u nazad (eng. back)
bezbroj puta dok se ne vratimo na originalnu stranicu. Nešto
slično tome Snapbacku-u postoji i kao dodatak za Firefox.
Opera je višeplatformski Web browser i Internet okruženje
koje dolazi s integrisanim emailom, IRC i RSS klijentima,
funkcijama za pretragu, kriptografiju i osiguranje privatnosti,
38
Dejan Popović WWW – Servis Interneta
te ostalim novim funkcijama, pa stoga obavlja standardne zadatke
povezane s Internetom, uključujući pregledavanje web stranica,
slanje i primanje poruka e-pošte, upravljanje kontaktima i
Widgete. Zatvorenog je koda. Operin mobilni Web browser Opera
Mini i najnovije verzije aplikacije za računare su besplatne.
Jedan je od najbržih, ako ne i najbrži, grafički Web čitač.
Operu razvija kompanija Opera Software, sa sedištem u Oslu, u
Norveškoj. Radi na raznim operativnim sistemima, uključujući
veliki broj verzija sistema Microsoft Windows, Mac OS X, Linux,
FreeBSD i Solaris. Takođe se koristi u mobilnim telefonima,
smartphone uređajima, Personal Digital Assistant uređajima,
konzolama i interaktivnim televizorima.
Google Chrome je browser koji povezuje minimalistički dizajn
sa sofisticiranom tehnologijom za bržu, sigurniju i lakšu
upotrebu Weba. Njegova važna karakteristika je to što svaki tab
radi sam za sebe, tako da ako se dogodi da se „smrzne“ jedan tab
nema potrebe rušiti sve otvorene tabove, nego samo taj jedan.
Primarni dizajnerski ciljevi Google Chromea bili su poboljšanje
sigurnosti, brzini i stabilnosti naspram već postojećih browsera.
Problem s ovim čitačem je taj da je on pušten u rad tek u
septembru 2008. godine, pa je još uvek u razvoju i ima mnogo
propusta, poput nepravilnog prikazivanja Ajax stranica i slično.
39
Dejan Popović WWW – Servis Interneta
Izbor Web čitača predstavlja samostalnu odluku korisnika.
Neki od kriterijuma koji mogu da pomognu pri odabiru ovog
softvera su:7
upravljanje beleškama (eng. Bookmark management)
podrška za evidentiranje izvršenih akcija (eng. History
list)
upravljanje preuzimanjem fajlova (eng. Download
management)
upravljanje lozinkama na sajtovima sa proverom
autentičnosti
upravljanje formularima
podrška za Web pretraživače u vidu ugrađene komponente
blokada/filtriranje Pop-Up reklama
kompatibilnost sa HTTP protokolom
podrška za moderne Web tehnologije
podrška za PlugIn-ove
podrška za lokalni jezik itd.
3.5 Adresa dokumenta/resursa (URI/URL)
7 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 169.
40
Dejan Popović WWW – Servis Interneta
Uniform Resource Identifier (URI) predstavlja skup karaktera
(slova, brojeva i specijalnih znakova) koji služi za
identifikovanje resursa. Cilj identifikovanja je mogućnost
pristupa svakom od resursa u mreži. URI je podeljen u dve
kategorije:8
URL (Uniform Resource Locator)
URN (Uniform Resource Names)
URI metod nije vezan samo za Web, najčešće se povezuje sa
Webom i HTTP protokolom.
Uniformni lokator resursa (Uniform Resource Locator, URL)
predstavlja jedinstveno ime koje se dodeljuje svakoj Web stranici
i koje se koristi za njeno identifikovanje. To ime počinje
specifikacijom šeme koja se koristi za pristup resursu. U stvari,
šema je protokol prenosa; format ostatka URL-a zavisi od šeme. Na
primer, URL prema šemi http ima sledeći oblik:9
http://imeračunara [: port] / putanja [; parametri] [? upit]
U navedenom primeru uglaste zagrade predstavljaju opcionu
stavku.String imeračunara je domensko ime ili IP adresa računara na
kojem se izvršava server tražene stavke; : port je neobavezan broj
porta protokola koji je potreban samo u slučajevima kada server
ne koristi dobro poznati port (80), putanja je string kojim se bira
8 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 170.9 D. Comer, Povezivanje mreža TCP/IP – Principi, protokoli i arhitekture, CET, Beograd, 2001., str. 528.
41
Dejan Popović WWW – Servis Interneta
određeni dokument na serveru, ; parametri je opcioni string kojim se
navode dodatni parametri koje zadaje klijent, a ? upit je
neobavezan string koji se koristi kada pretraživač šalje pitanje.
Korisnici veoma retko vide i koriste neobavezne delove, već se
URL koji upisuje korisnik sastoji samo od imena računara i
putanje. Na primer, URL:
http://www.malizvornik.info/o_autoru/autor.html
je Web stranica autora knjige o Malom Zvorniku. Server se
izvršava na računaru www.malizvornik.info, a dokument se zove
/o_autoru/autor.
Standardi protokola razlikuju gore navedeni apsolutni oblik
URL-a od relativnog oblika.10 Relativni URL, koji korisnik retko
vidi, ima smisla samo kada je server već određen i koristan je
kada je komunikacija sa određenim serverom već uspostavljena.
Anatomija URL-a
Na sledećem primeru moći ćemo da vidimo kompletnu strukturu
URL-a:
http://www.bps.org.uk/publicat/Periodicals/Psych/PSY9_97.htm
Protokol: http://
Baza sa linkovima: www
Informacije na serveru pod imenom: bps
10 D. Comer, Povezivanje mreža TCP/IP – Principi, protokoli i arhitekture, CET, Beograd, 2001., str. 529.
42
Dejan Popović WWW – Servis Interneta
Server registrovan sa domenom: organizacija
Lokacija servera: uk
Direktorijum sajta sa imenom: publicat
Ime poddirektorijuma: Periodicals
Ime poddirektorijuma: Psych
Ime fajla: PSY9_97
Ekstenzija tipa datoteke: htm
Spisak uobičajenih završnih nivoa domena:
• .com - komercijalno preduzeće
• .edu - obrazovna institucija
• .gov - vladina ustanova
• .mil - vojna ustanova
• .net - snabdevač mrežnim uslugama
• .org - najčešće neprofitabilna organizacija
Osim toga, mnoga imena domena dodeljena su kako bi se
prepoznale i pronašle datoteke koje se nalaze na matičnim
računarima u zemljama širom sveta. Ovo se odnosi na Internet
kodove zemalja koji sadrže dva broja i koje je strandardizovala
Internacionalna organizacija za standarde, kao što je standard
ISO 3166.
Na primer:
43
Dejan Popović WWW – Servis Interneta
• ch - Švajcarska
• de - Nemačka
• jp - Japan
• uk - Engleska
• rs – Srbija
U slučaju World Wide Web-a, protokol je, naravno, najčešće
http, međutim kao protokol mogu se navesti i neki drugi, koji
omogućavaju pristup do drugih usluga Interneta neposredno iz
pretraživačkog programa za World Wide Web. Pretraživač
podrazumeva da se radi o http protokolu, ako se protokol
eksplicitno ne navede u URL-u.
URN (Uniform Resource Names) je proširenje URI i URL. URN
označava resurs po imenu, a ne po lokaciji. U poređenju sa URL,
za URN se može reći da je slična sa imenom osobe, dok URL izgleda
kao adresa. URN definiše nečiji identitet, dok URL definiše
lokaciju.
44
Dejan Popović WWW – Servis Interneta
4. Razvoj serverskog dela Web-a
Web serveri, kao i tehnologije na kojima su oni izgrađeni,
imaju zadatak da prate razvoj HTTP protokola i da garantuju
kompatibilnost sa njim. Većina proizvođača Web servera je sa
uspehom obavljala ovaj zadatak, a jedan od glavnih razloga za to
je i konstantnost HTTP protokola, odnosno, HTTP protokol je
pretpeo samo jednu ozbiljniju promenu od nastanka i to kada je
45
Dejan Popović WWW – Servis Interneta
napravljen prelazak sa verzije 1.0 na trenutno aktuelnu verziju
1.1. Pažnja u razvoju Web servera je usmerena na:11
uvođenje tehnologija koje omogućavaju dinamičko
kreiranje Web dokumenata
garantovanje bezbednosti na različitim nivoima
korišćenja Web servisa
povećanje vremena dostupnosti servisa
Jednu od najvažnijih spona Web-a ka ostatku informacionog
okruženja predstavlja uvođenje tehnologija koje omogućavaju
dinamičko kreiranje Web dokumenata. Tehnologije za dinamičko
kreiranje Web dokumenata su u početku delovale više kao ukrasni
deo HTML stranica (na primer prikazivanje aktuelnog vremena i
datuma na stranici), a danas, Web sajt ne može da se zamisli bez
ovih tehnologija. Jedna od osnovnih uloga tehnologija za
dinamičko kreiranje Web dokumenata je korišćenje podataka kroz
DBMS (Database Managament System, Sistemi za upravljanje bazama
podataka). Sistemi koji koriste dinamičko kreiranje dokumenata
radi lakše organizacije sadržaja se nazivaju Content Managament
System – CMS (Sistemi za Upravljanje Sadržajem).
Postoji više različitih tehnologija za kreiranje dinamičnih
Web dokumenata na Web serveru (eng. server-side). U ovom
trenutku, tri najpopularnije tehnologije su: 12
11 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 171.12 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 171.
46
Dejan Popović WWW – Servis Interneta
Microsoft: Active Server Pages – ASP
Sun Microsystem: Java Server Pages – JSP
The PHP Group: PHP Hypertext Preprocessor – PHP
4.1 Active Server Pages – ASP
Active Server Pages, odnosno kraće ASP, je Microsoftova
tehnologija za izradu dinamičkih i interaktivnih Web stranica.
Kod običnih HTML stranica, klijent zatraži Web stranicu sa nekog
servera (npr. www.sinergija.edu.ba), a server jednostavno pošalje
dokument klijentu (obično index.html, ako nije navedeno ime) i
klijent vidi tu stranicu prikazanu u svom Web browseru. Sa ASP-
om, server ima priliku da izmeni dokument pre nego ga pošalje
korisniku, odnosno klijentu. Dakle, kada klijent zatraži neku
stranicu sa nastavkom .asp, server je prvo obradi, izvrši komande
koje su zadate u ASP dokumentu, i zatim šalje dokument klijentu.
Na ovaj način postiže se interaktivnost, odnosno dinamičnost Web
stranica. Pomoću ASP-a moguće je samo začiniti svoje stranice
dodajući sitne detalje poput datuma ili brojača poseta, ali mogu
se napraviti i ogromne Web-aplikacije za pristup bazama podataka,
Web-trgovine i slično. Da bi uspešno koristili ASP, obavezno je
koristiti Microsoftov Web server ili tačnije - Microsoft Internet
Information Server (IIS) 3.0 ili veći. To je ujedno i glavna mana
ove tehnologije - zavisna je o Windows platformi, a na polju
servera Unix i Linux zauzimaju značajan procenat. Postoje i
programi koji omogućavaju pokretanje ASP-a na Unix serverima.
Svakako dobra strana ASP-a je što on nije skriptni jezik, dakle
47
Dejan Popović WWW – Servis Interneta
ne mora se učiti njegova sintaksa i komande da bi ga koristili.
Microsoft ga naziva server-side scripting environment, tj. okruženjem za
programiranje na serverskoj strani. On u stvari predstavlja
kombinaciju HTML-a i nekog od skriptnih jezika - JavaScripta i
VBScripta. Pošto se stranice obrađuju na serveru, ne moramo
voditi računa o kompatibilnosti koda koji smo napisali sa oba
browsera, što je svakako još jedan plus za ovu tehnologiju.
ASP kod se najčešće sastoji od tri tipa sintaksi:
čisti (obični) tekst koji će biti prikazan korisniku
HTML oznake (tagovi)
ASP naredbe
Primer: ASP kod koji će prikazivati tačno vreme i datum
<html>
<head>
<title> Precizni Web server </title>
</head>
<h1> Dobrodosli!!! </h1>
Na našem Web serveru, tacno je <% =time %> sati!!!
<br>
Na našem Web serveru, datum je <% =date %>
</body>48
Dejan Popović WWW – Servis Interneta
</html>
Za izvršavanje ASP-a su potrebni: editor texta za pisanje
stranica (Notepad, Visual InterDev 6.0, Front Page, Macromedia
Dreamweaver...), Web server koji podržava ASP stranice i za
pregledanje i ispitivanje stranica, potreban je Web čitač.
Funkcionalnost ASP-a se deli u sedam generičkih objekata, od
kojih svaki upravlja svojim delom interakcije izmedju Web servera
i Web klijenta.
1. Request
2. Response
3. Server
4. Application
5. Session
6. ObjectContext
7. ASPError
Generički objekti Request i Response omogućavaju razmenu
informacija na relaciji klijent-server i obratno, a ostali
generički objekti su pozadinski i oni obogaćuju funkcionalnost
ASP-a.
4.2 Java Server Pages – JSP
Java Server Pages, nazivaju ga još i Java Scripting
Preprocessor. To je Java tehnologija koja dozvoljava programerima
49
Dejan Popović WWW – Servis Interneta
da dinamički generišu HTML, XML i druge vrste Web strana. JSP
sintaksa dodaje razne XML tagove, koji se zovu JSP akcije, i
moguće je kreirati biblioteke JSP tagova koje služe kao
ekstenzije za standardni XML i HTML. JSP fajlovi se kompajliraju
u Servlet-e pomoću JSP kompajlera. JSP kompajler može da generiše
servlet u Java kodu koji je onda kompajliran pomoću Java
kompajlera ili može da generiše bajt kod za servlet direktno.
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.
JavaServer stranica se može podeliti na sledeće delove:
• Statički podaci kao što je HTML npr
• JSP naredbe kao što je include naredba
• JSP scripting elemente i promenljive
• JSP akcije
• Custom tagove
4.3 PHP Hypertext Preprocessor – PHP
PHP je open source (otvoreni kod) jezik koji se koristi za
razvoj aplikacija na serverskoj strani, kao i dinamičkog Web50
Dejan Popović WWW – Servis Interneta
sadržaja. PHP dozvoljava interakciju sa velikim brojem relacionih
baza podataka kao što su MySQL, Oracle, IBM D2, Microsoft SQL Server,
PostgreSQL i SQLite. PHP radi na većini operativnih sistema
današnjice, kao što su UNIX, Linux, Windows i Mac OS X i može da
interaguje sa većinom Web servera.
Za razliku od većine programskih jezika koji poseduju početnu
funkciju (main u C-u, prvi blok BEGIN u Paskalu, klasa koja
poseduje main metodu u Javi itd.), nalik na većinu skriptnih
jezika i PHP datoteka jednostavno sadrži skup instrukcija koje se
izvršavaju jedna za drugom, od prve do poslednje gde sledi kraj
programa.
U PHP datoteci, blok koji je okružen jezičkim strukturama <?
php i ?> se smatra PHP kodom i izvršava se, a ostatak - van tih
znakova - se smatra tekstom koji jednostavno treba da se ispiše
na standardni izlaz, bez interpretiranja. Sledi primer „Zdravo
svete“ programa pisanog u PHP-u:
<?php
echo Zdravo svete!';
?>
Kod PHP-a promenljive ne moraju da se inicijalizuju i mogu da
sadrže bilo koji tip objekta. Nizovi su heterogeni, što znači da
jedan niz može da ima više objekata različitog tipa. Postoji
command-line interfejs ili GUI kao npr GTK+ (GIMP Toolkit +). Od
51
Dejan Popović WWW – Servis Interneta
verzije 3 su dodate karakteristike objektno-orijentisanog
programiranja, ali je tek verzija 5 donela apstraktne klase i
metode, interfejse, kloniranje objekata, destruktore kao i
upravljanje exceptionima, kao i mnoge druge stvari.
4.4 Bezbednost
Uvođenjem aktivnih tehnologija u Web servere došlo je i do
stvaranja mogućnosti zloupotrebe propusta u procedurama samog Web
servera, kao i procedurama za dinamičko kreiranje dokumenata. Na
ranijim verzijama Microsoft IIS-a je bio poznat propust koji je
napadačima omogućavao pristup kompletnom sadržaju sa hard diska
servera, a to je bilo dovoljno unošenje određene adrese
dokumenta.
Još jedan problem koji je vezan za bezbednost je i držanje
velikog broja sajtova na jednom Web serveru. Broj sajtova po
serveru dostiže i nekoliko desetina hiljada, a pošto se uglavnom
radi o sajtovima čiji se sadržaj ne kontroliše, to predstavlja
izazov koji se stavlja pred proizvođače.
4.5 Povećanje vremena dostupnosti servisa
Povećanje vremena dostupnosti servisa, performansi i
otpornosti na greške je očekivan zahtev koji se stavlja pred
tehnologije koje ulaze u privredu ili čak i u vojun industriju.
Svaka konekcija oduzima određenu količinu resursa na serveru, a
neretko se dešava da istom resursu na Internetu istovremeno
52
Dejan Popović WWW – Servis Interneta
pristupi više desetina hiljada korisnika. Određeni tipovi napada
mogu namenski da otvore veliki broj konekcija, a cilj tih napada
je da server izvedu iz stanja normalnog funkcionisanja. Situacija
u kojoj server ne funkcioniše normalno može dovesti do negativnih
ekonomsko/bezbedonosnih posledica. Odgovori na pomenute probleme
leže u:13
skalabilnosti
robusnosti
Skalabilnost predstavlja mogućnost povećanja performansi i
dostupnosti putem dodavanja hardverskih resursa. Skalabilnost
može biti: vertikalna i horizontalna14.
Robusnost predstavlja osobiun normalnog funkcionisanja u
nepredviđenim uslovima. Ova osobina se može obezbediti određenim
dizajnom softvera ili spoljnim tehnikama kao što je
virtualizacija.
13 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 173.14 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 173.
53
Dejan Popović WWW – Servis Interneta
5. Razvoj klijentskog dela Web-a
Današnji Web klijenti predstavljaju ne samo interpretere HTML
dokumenata, već kompletan klijentski deo HTTP plaforme
distribuiranih aplikacija. WWW je danas distribuirani klijent-
server servis, kod koga klijent koristeći browser može da
pristupi servisu koristeći server. Korišćenje različitih
funkcionalnosti savremenih Web klijenata omogućava programerima
da razvijaju samo određene delove klijentskog dela distribuiranih
aplikacija, a za ostatak iskoriste postojeće funkcionalnosti Web
klijenata. Jedna od prvih značajnih novina je bila uvođenje
podrške za formulare u HTML jezik, HTTP protokol, Web klijente i
Web servere. Značaj formulara se ogleda u tome što uvodi
mogućnost dvosmerne komunikacije između klijenta i servera tj.
omogućava korisnicima da serveru pošalju podatke određene54
Dejan Popović WWW – Servis Interneta
formularom. Sledeća značajna novina jeste uvođenje podrške za
JavaScript programski jezik.
5.1 JavaScript
Podrška za JavaScript omogućava proširivanje funkcionalnosti
klijentskog dela putem uključivanja skriptova u HTML dokumente.
JavaScript je skriptni jezik za korišćenje u programiranju WWW
prezentacija. Uveden je od strane Netscapea u Netscape Navigator,
počevši od verzije 2.0, uporedo sa uvođenjem podrške za Javu.
Brzo je postigao veliku popularnost i raširenost, toliku da je i
sam Microsoft pored uvođenja svog skript jezika - Visual Basic Script,
koji je kompatibilan sa Visual Basicom i Visual Basic for Aplication, uveo
svoju verziju JavaScripta - JScript. Jedini razlog zašto Microsoft
nije licencirao JavaScript kao takav jeste što nije dobio licencu.
Ono što je bitno zapamtiti jeste da JavaScript program može da se
izvršava samo u okviru WWW čitača i nigde drugde.
JavaScript se ugrađuje u HTML Web stranice – nije potreban
poseban alat; može se koristiti isti program za uređenje teksta
koji se koristi za izradu Web stranice. Najpopularniji čitači
Weba imaju ugrađenu podršku za JavaScript – posetioci lokacije ne
moraju instalirati dodatne programe na svoje računare. JavaScript
iskazi postavljaju se između oznaka <script> i </script>, koje će
ukazati čitaču Weba da izvrši JavaScript iskaze umesto da prikaže
tekst na ekranu. Sledi primer tipičnog „Zdravo svete“ HTML
dokumenta korišćenjem JavaScripta:
55
Dejan Popović WWW – Servis Interneta
<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>
5.2 Dodaci (Plug-ins)
Proširivanje funkcionalnosti Web klijenata je moguće i putem
plug-in komponenti za koje klijent ima podršku. Dodaci (Plug-ins)
predstavljaju dodatne aplikacije (module) koji se ugrađuju u sam
Web čitač kako bi se omogućila funkcionalnost pregleda dokumenta
koje Web čitač ne podržava tj. izvan standardnog HTML kao što su
razni multimedijalni fajlovi. Postoje još i tzv. pomoćne
aplikacije, a razlika u odnosu na dodatke je u tome što dodaci
rade zajedno uz Web čitač, a pomoćne aplikacije su samostalne.
Postoje mnogi dodaci za Web čitač, ali sledeća četiri bi
trebalo da poseduju svi korisnici Web-a: QuickTime, RealMedia,
Shockwave i Acrobat Reader. Korišćenje ovih dodataka utiče na
količinu memorije koju Web čitač koristi, tako da je za ova
četiri potrebno minimalno 32MB RAM-a, dok je 64MB je preporučeno.
56
Dejan Popović WWW – Servis Interneta
QuickTime omogućava rad sa mnogim formatima za video, audio i
slike na Web-u. Podržava i QuickTimeVR za prikaz slika virtualne
realnosti. QuickTime poseduje mnoge funkcionalnosti kako za
Macintosh, tako i za Windows platforme. Tip fajla je mov.
RealAudio i RealVideo predstavljaju najčeće formate za prenos
slike i zvuka preko Web-a. Paket u sebe uključuje dodatke i
eksterne aplikacije za reprodukciju. Tipovi fajlova RealMedia su
ra, rm, ram, ili rmd.
Adobe’s Acrobat Reader prikazuje Portable Document Format (PDF)
fajlove. Ovaj format se upotrebljava za dokumentaciju i brošure i
veoma je popularan pošto omogućava kreatorima potpunu kontrolu
nad dokumentom ili elementima dizajna što je ponekad nemoguće
izvesti u okviru HTML-a. Tip fajla je pdf.
Macromedia’s Shockwave plug-in omogućava pregled fajlova
aplikacija Director, Flash, Freehand i Authorware u Web čitaču.
Mnoge kompleksne animacije na Webu su kreirane korišćenjem
aplikacije Director ili Flash.
Proširivanje funkcionalnosti
Proširivanje funkcionalnosti Web klijenata postavlja sledeće
zahteve pred proizvođače i programere:15
očuvanje kompatibilnosti sa W3C standardima
zaštita korisnika od zlonamernih resursa na Web-u15 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 175.
57
Dejan Popović WWW – Servis Interneta
Problem očuvanja kompatibilnosti sa W3C standardima utiče i
na klijente i na autore Web sajtova. Nepodržavanje W3C
specifikacije dovodi do različite interpretacije istih dokumenata
kod različitih Web klijenata. Razlike u interpretaciji mogu biti
čisto estetske prirode, a mogu dovesti i do potpune
nefunkcionalnosti dokumenta/sajta. Autori pokušavaju da putem
određenih dodatnih direktiva izglade nekompatibilnosti (što
dovodi do oštećenja strukture dokumenta ili nepotrebnog
opterećivanja dokumenta).
Dodavanje novih funkcionalnosti postavlja pred autore Web
klijenata dodatni zahtev – očuvanje bezbednosti i privatnosti
korisnika. Podržavanje aktivnih tehnologija na klijentskoj strani
može da dovede do ubacivanja zlonamernog koda u računare
korisnika i na taj način do neovlašćenog pristupa podacima. Do
implementacije verzije 8 Internet Explorer-a, mnogi korisnici su
imali velike zamerke na sigurnosne propuste u ovom Web čitaču.
6. Pravci razvoja
6.1. Web 2.0
58
Dejan Popović WWW – Servis Interneta
Web 2.0 je termin koji neki vide kao drugu fazu razvoja WWW
servisa Interneta, uključujući njegovu arhitekturu i aplikacije.
Pod ovim se generalno misli na razvoj Weba posle 2000. godine.
Ove usluge omogućavaju korisnicima da sarađuju i razmenjuju
informacije putem Web-a. U poređenju sa Web-om prve generacije,
Web 2.0 korisnicima nudi interfejse koji više liče na desktop
aplikacije nego na dokumente.
Osnovne tehnike na kojima se zasniva Web 2.0 su:16
Web services – softverski sistemi koji omogućavaju
međusobnu komunikaciju mašina putem mreže
Ajax (Asynchronus JavaScript And XML) – tehnika za
kreiranje interaktivnih Web aplikacija. Cilj ove tehnike
je podela stranice na dinamičke delove koji šalju
odvojene zahteve i na taj način mogu komunicirati sa
serverom (serverima) nezavisno
Web syndication – forma udruživanja Web sajtova tako da
je sadržaj na jednom sajtu dostupan za korišćenje i na
ostalim
Web 2.0 se opisuje kao promena razmišljanja i ponašanja u
nekoliko bitnih oblasti online okruženja:17
Prelazak sa razmišljanja o Web sajtovima kao samostalnim
"informacionim silosima" ka izvorima sadržaja i16 M. Veinović, A. Jevremović, Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008., str. 179.
17 Dragan Varagić, „Web 2.0 koncept“, PC magazin59
Dejan Popović WWW – Servis Interneta
funkcionalnosti. Tvorci termina Web 2.0 (O'Reilly Media)
ovaj koncept vide na način "Web kao platforma".
Socijalni fenomen kreiranja i distribucije sadržaja na
Webu koji karakteriše otvorena komunikacija,
decentralizacija autoriteta, sloboda deljenja sadržaja i
njegovo ponovno korišćenje.
Bolje organizovan i kategorizovan online sadržaj.
Razmišljanja o realnoj ekonomskoj vrednosti Web-a, za
razliku od perioda krajem devedesetih.
Marketinški termin kojim se razdvajaju poslovni modeli
koji su nastali nakon 2000. godine
Web 2.0 se obično najbrže i najjednostavnije objašnjava preko
firmi i sajtova koji primenjuju principe prepoznate kao Web 2.0:
Google (Google Maps, Gmail...), Wikipedia, Technokrati, Flickr,
del.icio.us, Netvibes... Web 2.0 predstavlja pokušaj da se opiše
razvoj Weba u poslednjih pet godina. Skoro se sa sigurnošću može
reći i da će narednih pet godina biti u znaku razvoja Weba koji
opisuje koncept Web 2.0. Za sada se izdvajaju tri bitne
karakteristike ovog koncepta:18
1. Infrastruktura: Ovaj koncept sa aspekta infrastrukture
opisuje načine kreiranja servisa (ne sajtova) koji se konstantno
unapređuju sa aspekta jednostavnosti korišćenja (upotrebljivost –
usability, kombinovana korisničkim doživljajem sajta/servisa –
interface design), a kvalitet servisa raste sa porastom broja
18 Dragan Varagić, „Web 2.0 koncept“, PC magazin60
Dejan Popović WWW – Servis Interneta
korisnika. Akcenat je na nenametljivom traženju podataka od
korisnika (bookmarks, tags).
2. Demokratija: Koncept Web servisa (kao sastavni deo
koncepta Web 2.0) promoviše prednost zadovoljenja potreba
korisnika u odnosu na izbor Web tehnologije koja se za to
koristi, i to sve na osnovu upotrebe usaglašenih Web standarda.
Kreiranje mreže korisnika za razvoj nekog servisa (en. Social
Networking) pokazuje da veliki broj amatera može da nadmaši
profesionalce. Najpoznatiji primer za napisano je besplatna
enciklopedija Wikipedija. Jedan od najvećih dosadašnjih uspeha
ovog koncepta je upravo lakoća distribucije i ponovne upotrebe
sadržaja korišćenjem RSS tehnologije (tehnologija koja omogućuje
laku promociju sadržaja, njihovo decentralizovano čitanje, ali i
postavljanje na sajtove kao dodatan sadržaj).
3. Kreiranje servisa: Kao što se može videti iz ovog kratkog
prikaza, samo na ovom mestu je pomenut veliki broj novih termina,
a za potpunije razumevanje Web 2.0 koncepta mora se naučiti
značenje još bar dva puta više novih izraza. Iz samog pojmnovnog
određenja termina "Web 2.0" vidi se da se radi o vema složenom
skupu online poslovnih i tehničkih principa, kao i skupu
različitih primenjenih tehnolgija koji opisuju aktuelan razvoj
Web-a. Iz ovoga se jednostavno može zaključiti da kreiranje
"pravih" Web 2.0 aplikacija nije i neće biti svakodnevna praksa,
pre je to izuzetak.
61
Dejan Popović WWW – Servis Interneta
Ono što se već sada sa sigurnošću može tvrditi jeste da
najveću vrednost Web 2.0 koncepta predstavlja nedvosmisleni prvi
korak ka inteligentnom (semantičkom) Webu koji upravo
doživljavamo. Već sada postoje servisi koji omogućuju da se
različite oblasti prate sa jednog mesta (npr. RSS čitač), i da se
dobrim odabirnom lokacija i tagova za praćenje već sada može reči
da vam ništa bitno iz izabranih oblasti ne može promaći.
6.2 Web 3.0
Ideja o novoj generaciji Web-a, potiče delom iz želje da se
smanji razlika u pristupu Web-u između ljudi i računara. U
kontekstu social bookmarking-a gde korisnik može da organizuje
kolekcije bookmark tagova po osnovu njihovog kvaliteta ova
razlika dolazi do izražaja, jer današnji pretraživači koji
indeksiraju i „vide“ Web kroz gomile ključnih reči ne mogu da
sagledaju recimo pojam kvaliteta sadržaja na nekoj stranici na
način na koji to može čovek. Najkraće, Web 3.0 bi se mogao
opisati kao inteligentni Web, Web udružen sa AI – Artifical
Intelligence ili veštačkom inteligencijom. Podjednako se već radi
i na ostvarenju ideje o semantičkom Web-u kao mestu na kome su
sve informacije tako kategorizovane i uskladištene da ih računar
može razumeti podjednako dobro kao i čovek. Tako sada dolazi do
spoja komponente veštačke inteligencije i semantičkog Weba u kome
semantički Web „uči“ računar šta podaci znače, a računar potom uz
pomoć veštačke inteligencije može da izvede zaključak iz naučenog
koji će moći da primenju u sledećim pretragama.
62
Dejan Popović WWW – Servis Interneta
Osnovni koncepti Web 3.0:
Oblasti saznanja (Knowledge Domains) - obuhvataju široke oblasti
poput fizike, hemije, biologije, politike, Web-a, sociologije,
filozofije, istorije, itd. Ove discipline mogu takođe imati imaju
svoje podgrupe.
Informacija naspram znanja - za računar na današnjem Web-u,
informacija predstavlja samo zbir podataka.
Ontologije - Za svako polje ljudskog znanja, moraju se kreirati
ontologije. Ontologije nisu ni znanje, a ni informacije.
Ontologije se mogu opisati kao meta-informacije ili informacije o
informacijama.
Interference Engines - predstavlja tačku u kojoj će se
kombinovati dostignuća iz oblasti veštačke inteligencije sa
ontologijama vezanim za specifičnu oblast (npr. Wikipedija) kao i
sa upitima od strane korisnika i u kojima će zatim dolaziti do
procesa deduktivnog razmišljanja ili drugačije, do izvođenja
novih informacija koje su zasnovane na početnim informacijama.
63
Dejan Popović WWW – Servis Interneta
7. Zaključak
World Wide Web predstavlja trenutno najatraktivniji i
najkorisniji servis na Internetu. On omogućava korisniku brz
dolazak do informacija u obliku Web dokumenta (Web stranica).
Kako WWW ujedinjuje nekoliko Internet servisa u sebe, on u stvari
i ne predstavlja posebni Internet servis. Kod korisnika se često
poistovećuje s samim Internetom, tako kad se kaže Internet
najčešće se samo misli na WWW servis. To je rezultat sposobnosti
WWW-a da se kroz njega koriste i mnogi drugi Internet servisi.64
Dejan Popović WWW – Servis Interneta
Kvalitetno urađena Web stranica bogata informacijama, do kojih je
lako doći, je ono što korisnik želi i ono što je privuklo
korisnike. Današnje Web stranice pružaju mnoge mogućnosti: od
informisanja, preko reklamiranja, kupovine i novčanih transakcija
do zabave i rekreacije.
Temu ovog rada izabrao sam želeći na neki način da zaokružim
ranije stečena znanja i iskustva, ali i u želji da savladam neke
nove tehnologije. Svakako je danas najveći izazov svakome ko se
na bilo koji način bavi informacionim tehnologijama da prati
korak njihovog razvoja i da se neprestano usavršava i usvaja nove
tehnologije. Noseći se tom idejom, izabrao sam World Wide Web –
Servis Interneta, kako bi unapredio i proširio znanja vezana za
WWW.
„Cilj projekta World Wide Web-a je stvaranje linkova na sve
dostupne informacije“. Ovo je izjavio Tim Berners-Li pri
predstavljanju svog projekta. Od tada je prošlo više od 20
godina, cilj je ostao isti, a jedino se broj dostupnih
informacija povećao i to za nekoliko milijardi puta. Da li neko
može da predvidi kako će Web izgledati za 20 godina? Ne može.
Zato je Web i privukao ogroman broj ljudi. Neiscrpni izvor
znanja.
65
Dejan Popović WWW – Servis Interneta
L I T E R A T U R A :
[1] Veinović, M., Jevremović, A.: Uvod u računarske mreže, Univerzitet Singidunum, Beograd, 2008.
[2] Comer, D.: Povezivanje mreža TCP/IP – Principi, protokoli i arhitekture, CET,Beograd, 2001.
[3] Kurose, J., Ross, K.: Umrežavanje računara, CET, Beograd, 2008.
[4] Nixon, R.: Learning PHP, MySQL & JavaScript, O’Reilly, Sebastopol (USA), 2009.
[5] http://www.w3schools.com
[6] http://www.microsoft.com
66