31
1 Web tehnologije II deo Dinamičko generisanje HTML-a HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri. Struktura i izgled samih stranica se opisuje jezikom HTML. Komunikacija između Web klijenta (tj. čitača) i Web servera odvija se po standardnom HTTP (HyperText Transfer Protocol) protokolu.

Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

Embed Size (px)

Citation preview

Page 1: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

1

Web tehnologije

II deo

Dinamičko generisanje HTML-a

HTTP protokol

Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri.

Struktura i izgled samih stranica se opisuje jezikom HTML.

Komunikacija između Web klijenta (tj. čitača) i Web servera odvija se po standardnom HTTP (HyperText Transfer Protocol) protokolu.

Page 2: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

2

Slanje zahteva HTTP klijenta

Prvi red poruke je najvaPrvi red poruke je najvažžnijiniji - on sadrži: komandu koju klijent upućuje serveru (u ovom slučaju to je GET komanda

kojom se zahteva određena datoteka sa Web servera), putanju datoteke u okviru Web sajta servera (/docs.html) i oznaku verzije protokola (HTTP/1.0).

Naredni redovi u poruciNaredni redovi u poruci - dodatne informacije koje server može da iskoristi za svoje potrebe. U ovom primeru:

polje User-Agent predstavlja opis klijentskog softvera (tip i verzija Web čitača i operativnog sistema),

polje Host predstavlja simboličku adresu klijenta, itd.

HTTP klijent HTTP serverGET/docs.html HTTP/1.0User-Agent: Internet Explorer 6.0 (Windows XP)Accept-cookies: yesHost:vps.ns.ac.yu...

Zadatak servera je da po prijemu zahteva HTTP klijenta odgovori na njega.

U ovom slučaju odgovor servera treba da sadrži traženu datoteku (docs.html), pri čemu je format odgovora takođe definisan HTTP protokolom.

Slanje odgovora HTTP klijentu

Page 3: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

3

Slanje odgovora HTTP klijentu

HTTP klijent HTTP serverHTTP/1.0 200 OKContent-Type:text/html

<HTML><HEAD>...

Prvi red odgovoraPrvi red odgovora sadrži:

oznaku protokola, trocifreni broj koji predstavlja status izvršene operacije (200) i tekstualni opis tog statusa (OK). - Konstanta 200 označava da je zahtev uspešno izvršen i da se tražena datoteka nalazi u nastavku poruke.

Druge konstante koje se češće sreću su:

404 (tražena datoteka nije pronađena),

407 (pristup datoteci nije dozvoljen) i

302 (datoteka premeštena na drugo mesto).

Slanje odgovora HTTP klijentu

HTTP klijent HTTP serverHTTP/1.0 200 OKContent-Type:text/html

<HTML><HEAD>...

Naredni redovi u poruciNaredni redovi u poruci sadrže: Content-Type - oznaka tipa sadržaja koji se vraća (standardizovane

oznake propisane u odgovarajućim RFC dokumentima (Request For Comments) - zvanična serija dokumenata koja opisuje tehničke i organizacione detalje Interneta počevši od 1969.

Na primer: HTML datoteke imaju oznaku text/html, datoteke sa ASCII tekstom bez formatiranja imaju oznaku text/plain, GIF slike image/gif, JPEG slike image/jpeg, itd.

Jedan prazan red koji razdvaja zaglavlje odgovora od samog sadržaja datoteke.

Page 4: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

4

Statički i dinamički Web sadržaji

Jedino što klijent može da zatraži od servera je datoteka.

Na serveru je da tu datoteku pronađe (eventualno i modifikuje!) i pošalje klijentu.

Web sadržaji koji se smeštaju na server vidljivi su klijentima kao pojedine datoteke: datoteke mogu biti unapred pripremljene (npr. u editoru kakav je (Adobe

(formerly Macromedia) Dreamweaver) i smeštene u fajl-sistem Web servera.

mogu biti i generisane po prijemu zahteva klijenta na neki poseban način;

U tom smislu, Web sadržaje (zapravo datoteke) možemo podeliti nastatičke i dinamičke.

Klijent ne zna da li je datoteka koju je tražio generisana statički ilidinamički.

Statički Web sadržaji

Statički Web sadržaji su datoteke koje su unapred smeštene u odgovarajući direktorijum fajl-sistema Web servera i spremne su za isporuku klijentima po njihovom zahtevu.

HTTP klijent HTTP server

1) Klijent zahteva fajl

2) Sever učitava fajl iz fajl-sistema i šalje ga klijentu

- Isporuka statičkih sadržaja -

Page 5: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

5

Dinamički Web sadržaji

Dinamički sadržaji nisu uskladišteni unapred već se generišu za svaki zahtev klijenta posebno.

U ovom slučaju server neće tražiti datoteku u okviru fajl-sistema; server “zna” da je u pitanju dinamički generisana datoteka i pozivaodgovarajući potprogram koji će je generisati.

Najčešće nema potrebe ovako generisanu datoteku čuvati na serveru

HTTP klijent HTTP server

1) Klijent zahteva fajl

2) server generiše fajl i šalje ga klijentu; ne snima ga u svoj fajl-sistem

- Isporuka dinamičkih sadržaja -

HTTP komunikacija

Ukupna sekvenca aktivnosti klijenta i servera u HTTP komunikaciji

1. klijent otvara konekciju sa serverom

2. klijent šalje zahtev serveru

3. server vraća odgovor

4. zatvara se konekcija

Page 6: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

6

HTTP komunikacija

Komunikacija između klijenta i servera zasnovana nazahtev/odgovor principu.

Svaki par zahtev/odgovor smatra se nezavisnim od ostalih.

Recimo, u slučaju da prvi klijent pošalje zahtev serveru i dobijeodgovor, zatim drugi klijent pošalje zahtev i dobije odgovor, pa potom ponovo prvi klijent pošalje novi zahtev, nema načina da se ustanovi da je prvi klijent poslao dva zahteva (prvi i treći).

Server svaki zahtev opslužuje nezavisno od ostalih zahteva.

HTTP je stateless protokol: ne omogućava praćenje stanja korisničke sesije između slanja više različitih zahteva.

Praćenje sesije korisnika

HTTP protokol ne omogućava praćenje sesije korisnika.

Kako bi se ovaj cilj ipak postigao definisano je pomoćno rešenje -mehanizam slanja “kolačića” (cookies) između klijenta i servera

Uveo ga je Netscape Navigator, a kasnije je postao standardan mehanizam za ovu namenu podržan od svih Web čitača i servera.

Šta je jedan cookie zapravo?

Možemo ga shvatiti kao string od tipično 20-30 nerazumljivih znakova koji je namenjen za jednoznačno identifikovanje korisnika na serveru.

Page 7: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

7

Praćenje sesije korisnika

Prilikom slanja prvog zahteva server će ustanoviti da mu klijent nije poslao cookie kao jednu stavku u zaglavlju zahteva.

U odgovor na taj zahtev server će dodati cookie.

Ukoliko je Web čitač podešen tako da radi sa cookie-ima, on će u svim sledećim zahtevima koje bude slao tom serveru uključiti i cookie, tako da će server moći da prepozna klijenta koga je većranije opsluživao.

Praćenje sesije korisnika

HTTP klijent HTTP server

1) zahtev + cookie

2) odgovor+cookie

HTTP klijent HTTP server

1) zahtev

2) odgovor+cookie

b) svi sledeći zahtevi sadrže cookie

a) slanje prvog zahteva i prijem odgovora koji uključuje cookie

Page 8: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

8

Svrha kolačića

Glavna svrha kolačića jeste da sačuva informacije:

Oni se uglavnom koriste za čuvanje korisničkog imena i lozinke –korisnik ne mora da ih unosi svaki put kada pristupi lokaciji

Mogu se koristiti za čuvanje svih podešavanja koja je korisnik zadao kada je poslednji put pristupao lokaciji

Sa programerske tačke gledišta:

Kolačići se koriste da reše probleme vezane za upravljanje stanjem –problem stanja je povezan sa činjenicom da se između dve posete lokaciji server ne seća korisnika

Upotreba kolačića

Nekim korisnicima se ne dopada kada neko prati njihovo ponašanje na Webu, pa će oni isključiti kolačiće

Da bi se to izbeglo i steklo poverenje korisnika, autori Web lokacije bi trebalo da sačine:

poseban dokument o privatnosti ili

izjavu o upotrebi i tako obaveste korisnika za šta će kolačići biti upotrebljeni

samo jedan kolačić koji će istovremeno i da prati korisnika i da čuva informacije o podešavanjima koja je on zadao – više kolačića zahteva od korisnika niz potvrda, jer svaki mora biti prihvaćen

alternativno rešenje za korisnike koji ne žele da prihvate kolačiće

Page 9: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

9

Serversko programiranje

Serversko programiranje

Serversko programiranje ima mnogo oblika, uključujući CGI skriptove, serverske API program poput NSAPI (Netscape Server Application Programming Interface) i ISAPI (Internet Server Application Programming Interface) i Java programa, serverska okruženja za skriptove, kakva su ASP kompanije Microsoft i ColdFusion kompanije Allaire

Svaka tehnologija ima svoje prednosti i mane – zajedničko svojstvo: kontrola

Server je jedini deo klijent-server arhitekture nad kojim autor lokacije ima kontrolu

Page 10: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

10

Serversko programiranje

Serversko programiranje ne primećuje razlike koje mogu da postoje na klijentskoj strani,

Lokacija čija je interaktivnost bazirana na serveru, teoretski može da isporuči sadržaj bilo kom čitaču

Razvoj interaktivnih elemenata, uprkos prednostima klijentske tehnologije, za veliki broj lokacija sa velikim protokom podataka oslanja se uglavnom na serverske tehnologije

Glavna mana serverske tehnologije je: brzina

Zbog kompletne interakcije koja se odvija na serveru može doći do kašnjenja zbog:

Opterećenosti servera ili

Zagušenosti mreže za prenos podataka

CGI programi

Najstarija tehnologija za serversko programiranje: Common Gateway Interface (CGI) programi

CGI omogućava Web serverima da pokreću programe kao odgovor na HTTP zahteve

CGI specificira kako proslediti argumente programu koji će se izvršiti kao deo HTTP zahteva

Page 11: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

11

CGI programi

Svaki HTTP zahtev, od strane korisnika, generiše novi proces na serveru

HTTP zahtev

CGI programi

CGI programi mogu da se pišu na svim jezicima koji mogu da se koriste na serveru koji izvršava program

Najčešće se CGI programi pišu na jeziku Perl, zbog njegove izuzetne mogućnosti za rad sa znakovnim nizovima i podrške za Web

CGI programi mogu se pisati u bilo kom od sledećih jezika: C/C++, Java, Visual Basic, pa čak i Pascal, Cobol ili Fortran

CGI programe treba pisati na jeziku koji je brz, prenosiv i kojiodgovara serveru što će ga izvršavati i programeru koji će ga pisati i

održavati.

CGI programe treba pisati na jeziku koji je brz, prenosiv i kojiodgovara serveru što će ga izvršavati i programeru koji će ga pisati i

održavati.

Page 12: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

12

CGI programi

CGI program mora da kreira posebni proces za svaki zahtev posetioca, koji nestaje tek kada se u potpunosti završi transfer podataka

Kreiranje nove instance programa zahteva dodatno vreme, OS trebada učita program, alocira memorijski prostor, a nakon izvršenja da dealocira i ukloni program iz memorije

Performanse – značajne – server opslužuje veliki broj istovremenih zahteva

U serverskim programima veoma je važan bezbednosni aspekt

CGI programi se lakše mogu nadgledati i održavati ukoliko se postave u jedan direktorijum

CGI programi se lakše mogu nadgledati i održavati ukoliko se postave u jedan direktorijum

Serverski API

Serverski API programi koriste se za važne funkcije koje treba brzo da se izvršavaju

Omogućavaju dobru integraciju sa Web serverom

Lako pristupaju glavnim serverskim funkcijama kao što su: Provera identiteta, kontrola pristupa i brz pristup bazi podataka ili

pozadinskim uslugama

Glavna mana serverskih API programa jeste njihova složenost i visoka cena

Loše napisan API mogao bi da blokira ceo Web server, dok lošCGI program može samo da zauzme previše procesorskog vremena

Page 13: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

13

Java Servleti

Servleti - jedna od tehnologija za generisanje dinamičkih Web sadržaja.

Da bi se servleti mogli koristiti, Web server mora da ima odgovarajuću podršku za servlete. Pisanje servleta je moguće samo u programskom jeziku Java, tako da je za njihovo izvršavanje potrebna i JVM (koju najčešće obezbeđuje Web server).

Servlet je - Java klasa koja nasleđuje standardnu klasu HttpServlet.

Klase i interfejsi koji se koriste u pisanju servleta nalaze se u paketima javax.servlet i

javax.servlet.http.

Životni ciklus servleta

Page 14: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

14

Prednosti Java Servleta

Efikasnost – prilikom prvog zahteva prema servletu, server mora pokrenuti novi proces unutar Java virtualne mašine, ali za svaki sledeći zahtev prema tom servletu, JVM kreira samo malu Java nit (eng. Thread)

Portabilnost – zbog prirode napiši jednom pokreni, bilo gde (eng. Write once, run anywhere) Java idioma, servleti su portabilni na različitim SW/HW platformama

HTTP zahtev

prvi put novi proces sledeći put samo nova nit (thread)

Nedostaci Java servleta

Java servleti mogu biti sporiji od CGI skripta, u situacijama gde servlet poziva veliki broj korisnika

Vidljiv nedostatak je i vezivanje za samo jedan programski jezik– Java (što je važno samo za programere i ne smatra se nedostakom tehnologije)

HTML kao izlaz iz servleta je priličan problem, jer je reč o internom štampanju HTML koda iz servleta – teško čitljive i složene izlazne naredbe, koje sadrže HTML i programski kod ostatka aplikacije

Page 15: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

15

Serverski skriptovi

Često nazivan “serverski HTML” ili “serverski skriptovi” – pridruživanje programiranja Web stranama na relativno jednostavan i brz način

Cilj serverskih skriptova: izrada posebnih HTML datoteka ili šablona koji sadrže smešu skripta i HTML elemenata, koje će server po potrebi učitati

Postoje mnoga okruženja za serverske skriptove:

PHP - Personal Home Page

ASP - Active Server Pages

ASP.NET

JSP - JavaServer Pages

ColdFusion..

Razlike su veoma male – glavna razlika između okruženja jeste sintaksa

Primer serverske analize HTML dokumenta

HTTP zahtev

Page 16: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

16

čitač

Web server

Zahtev za dokumentom

Vraćanje rezultujućeg

HTML dokumentaHTML sa serverskim

skriptom

analiza serverskog

skripta

Učitavanje dokumenta

Primer serverske analize HTML dokumenta

ASP

ASP ("Stranice aktivne na serveru", eng. Active Server Pages) predstavlja jedan od skriptnih jezika za razvijanje Internet sajtova, razvijen od strane kompanije Microsoft.

Njegov glavni takmac na Internet tržištu je PHP, koji ima tu osobinu da je besplatan i slobodan, dok su ASP i svi proizvodi potrebni za njegovo korišćenje komercijalni i u vlasništvu kompanije Microsoft.

Sa druge strane, Microsoft konstantno održava i dodaje nove mogućnosti svom paketu, na taj način ga čineći modernim, čvrstim i pružajući svojim klijentima svu moguću tehničku podršku.

Page 17: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

17

ASP

Nakon uvođenja .NET tehnologije, Microsoft je i ASP prilagodio istom, tako da je u upotrebi verzija ASP.NET 2.0, objavljena 2005. godine.

ASP je skriptni jezik, kao i PHP, i potreban je interpreter na serverskoj strani da bi isti mogao da radi.

ASP nije programski jezik, već tehnologija koja omogućava programiranje Web servera, dok programski jezik zavisi od izboraautora: VBScript – najčešće korišćen

JScript – Microsoftova verzija JavaScript jezika

C# (samo za ASP.NET)

Više od 19 jezika (samo ASP.NET) razvijenih od nezavisnih firmi

ASP

Page 18: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

18

Cena

Kvantitativno poređenje serverskih tehnologija

Kvantitativno poređenje serverskih tehnologija

Page 19: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

19

Tehnologije distribuiranih objekata

Osnovni koncepti

Koncept distribuiranih objekata - neki objekat (instanca klase)sa svojim metodama i atributima može da “postoji” na nekom računaru i da drugi programi, odnosno objekti, koji se izvršavaju na drugim računarima mogu da mu pristupaju.

Pristup tom objektu – mogućnost pozivanja metoda i pristupa njegovim atributima.

Pristup tom “serverskom” objektu bi, sa strane ostalih učesnika (“klijenata”), trebalo da bude što jednostavniji.

U idealnom slučaju pristup njemu ne bi trebalo da se razlikuje od pristupa lokalnim objektima – ostalim objektima koji se nalaze u sastavu programa.

Page 20: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

20

Poziv metode serverskog objekta podrazumeva izvršavanje te metode na onom računaru na kome se nalazi sam objekat.

To znači da se klijentski program izvršava na više računara –inicijalno na onom na kome je pokrenut, ali i na svim računarima na kojima se nalaze serverski objekti koje on koristi.

Osnovni koncepti

Poziv metode serverskog objekta

Komunikacija dva objekta: klijentski objekat je deo klijentske aplikacije, a serverski objekat je deo

serverske aplikacije. serverska aplikacija se često naziva “kontejner” za objekte jer je njena osnovna

funkcija da obezbedi mrežne i druge servise koji su neophodni za ovakav serverski objekat.

Klijent Serverski objekat

1. poziv metode

3. rezultat

2. Izvršenje metode

Page 21: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

21

Klijentski i serverski objekat u okviru svojih programa

Posmatrano sa stanovišta autora klijentske aplikacije, i klijentski i serverski objekat su sastavni deo jednog programa.

Osobina tog programa je da se izvršava na više računara u mreži.

Serverski program, logički posmatrano, i ne postoji; postoji samo serverski objekat koji se ponaša/koristi kao da je deo klijentskog (jedinog) programa.

Klijent Serverski objekat

Klijent aplikacija kontejner

Tehnologije distribuiranih objekata

COM/DCOM - (Distributed) Component Object Model

RMI - Remote Method Invocation

CORBA - Common Object Request Broker Architecture

EJB - Enterprise JavaBeans

Page 22: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

22

Upotreba multimedije na Web stranama

Multimedija na Web stranama

Multimedija može da unapredi i obogati izgled lokacije, ali ona ima velike tehnološke i infrastrukturne zahteve

Ukoliko multimedijalni elementi neće pomoći korisnicima da lakše koriste Web lokacije – ne bi ih trebalo koristiti

Veoma je važan način dodavanja multimedijskih sadržaja –potrebno je koristiti poznate tehnologije koje neće predstavljati barijeru za pristup lokaciji

Page 23: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

23

Animacija

Animacije se na Webu koriste za: Aktivne logotipe,

Animirane ikonice,

Prikaze i

Kratke crtane filmove

Animacije ne treba međusobno da se nadmeću

Nakon izvesnog vremena korisnika animacije zamaraju – izbeći animacije koje se neprekidno ponavljaju

Autorima su na raspolaganju mnoge tehnologije za izradu animacija

Tehnologije za animaciju

Iako se može koristiti za animacije, nije preporučljivo. Jedina prednost animacija izrađenih u Javi jeste što mogu da se izrade u letu na osnovu složenih proračuna. Jedina razumna upotreba- na klijentskoj strani na osnovu korisnikovih postupaka. Java je previše složena da bi se koristila u jednostavnim animacijama.

Java

Komprimovane datoteke Adobe-ovog programa Director. Njihova glavna prednost nad formatom Flash jeste u podržavanju složenog programiranja. Mogu biti mnogo veće od datoteka u formatu Flash.

Shockwave

Adobe Flash vodeći je format za kvalitetne animacije za Web. Datoteke u ovom formatu su veoma male, mnogi korisnici imaju instaliranu podršku za njih. Podržava ograničene mogućnosti programiranja, mora biti dopunjen JavaScript-om.

Flash

DHTML (JavaScript) se može upotrebiti za pomeranje objekata po ekranu. Animacije ostvarene ovom tehnlogijom često su isprekidane, efikasne samo za živu dugmad i pokretni tekst. Program Dreamweaver omogućava da se na Web stranu lako dodaju animacije po putanjama.

DHTML

Najjednostavniji oblik animacije i izvorno je podržana u većini Web čitača. Ovakvoj animaciji može se zadati koliko će se puta ponoviti i druge vremenske karakteristike, ali ostala napredna svojstva su izvan dometa ove tehnologije.

Animirane sličice u formatu GIF

OpisTehnologija

Page 24: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

24

Zvuk

Najnovije tehnologije za reprodukovanje zvuka preko Interneta obuhvataju široku oblast, od tradicionalnog sistema preuzmi-i-pusti u mnoštvu formata, do tehnologije strujećeg zvuka koja reprodukuje zvuk u skoro realnom vremenu

Najnaprednije tehnologije nisu uvek najbolje rešenje

Osnove digitalnog zvuka

Digitalni zvuk meri se učestanošću uzorkovanja – time koliko je puta zvuk digitalizovan u toku određenog vremenskog perioda

Učestanost uzorkovanja izražava se u kilohercima (kHz) – mera broja uzorkovanja tokom jedne sekunde

Zvuk CD kvaliteta dobija se uzorkovanjem na 44,1 kHz – 44100 puta tokom jedne sekunde

Za stereo zvuk potrebna su dva kanala sa po osam bita – 16 bita po uzorku zvuka –705600 bitova za svaku sekundu zvuka CD kvaliteta

U stvarnosti prenos tolike količine podatka zauzeo bi polovinu kapaciteta propusne moći – što najčešće nije dostupno – potreban drugi pristup za emitovanje zvuka CD kvaliteta preko Interneta

Page 25: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

25

Formati i kompresija zvučnih datoteka

Datoteke koje sadrže zvuk mogu da se komprimuju da bi se brže prenosile preko mreže

Program na strani servera komprimuje i isporučuje zvuk, dok ga program na strani klijenta dekomprimuje i reprodukuje

Program za kompresiju i dekompresiju naziva se kodek

Formati zvuka mogu da narušavaju kvalitet zvuka ili da ga uopšte ne narušavaju

Formati i kompresija zvučnih datoteka

Kompresija sa gubicima ne reprodukuje verno originalni zvuk – ali je prihvatljiva jer daje male datoteke

Kompresija – kompromis između kvaliteta zvuka i veličine datoteke – što je datoteka veća potrebno je i više vremena da se prenese preko mreže

Kada se obrađuje zvuk – zadaje se format datoteke, a ne način kompresije

Page 26: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

26

Formati za datoteke sa zvukom

Ogg Vorbis je besplatan metod enkodiranja i kompresije digitalnog zvuka. Za tačno 1/8 bolji je u brzini po bitovima i po svom kvalitetu u odnosu na MP3. Jedna .ogg datoteka pri brzini 45 kb/s najčešće zvuči bolje od datoteke .mp3 pri brzini od 320 kb/s.

Ogg Vorbis

Rich Music Format podržava organizacija Beatnik. To je kompaktan format koji nudi visok kvalitet reprodukovanja nakon preuzimanja datoteke. Postaje sve popularniji.

RMF

Format Musical Instrument Digital Interface nije format digitalnog zvuka. On nosi informacije o notama i druge bitne informacije na osnovu kojih muzika može biti sintetizovana. Upotrebljive su samo za neke primene lošeg kvaliteta reprodukcije.

MIDI

Dominantna tehnologija za strujeće reprodukovanje preko Interneta. Ona zahteva poseban plejer, čije su osnovne verzije besplatne.

RealAudio

Format Motion Pictures Experts Group je standardni format sa velikim stepenom kompresije. MPEG nivo 3, ili MP3 datoteke su najpopularniji oblik za distribuciju muzike preko Interneta. Zbog svoje veličine, MPEG datoteke se pre reprodukovanja najčešće kompletno prenesu na klijentski računar.

MPEG (MP3)

Wav datoteke su najčešći formati datoteka sa zvukom na Windows platformi. WAV

OpisFormat

Jednostavan zvuk za Web

Najjednostavniji način da se kroz jezik HTML pruži podrška pristupu preuzmi-i-pusti jeste povezivanje takve datoteke i prepuštanje obrade pomoćnom ili dodatnom programu

Ako pomoćni programi ili dodatak nisu podešeni odluka o daljoj akciji se prepušta korisniku

Da bi se povezala datoteka sa zvukom u formatu WAV, u HTML datoteku dodaje se kod sličan sledećem:

<a href=“democompanyjingle.wav”>Demo Company+s Corporate Jingle (7 second WAV – 180K) </a>

Kada se na Web stranu dodaje snimak poput govora ili delova radio ili TV programa, uvek treba naznačiti dužinu, format i veličinu datoteke sa zvukom

Page 27: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

27

Jednostavan zvuk u praksi

Čitači bi trebalo da podržavaju preuzimanje i reprodukovanje zvučnih datoteka

Microsoftov Internet Explorer koristi sopstvenu HTML oznaku <bgsound> ili oznaku <embed>

Na primer, da bi se podesio dodatak LiveAudio da reprodukuje datoteku test.wav i da prikaže karticu za podešavanje zvuka, upotrebiti sledeći HTML kod:

<embed src=“test.wav” height=“60”width=“144”>

Jednostavan zvuk u praksi

<embed src=“test.wav” height=“60” width=“144”>

Zadavanje atributa height i width veoma je važno, jer bi u suprotnomo čitač mogao da opseče konzolu

Podrazumevana LiveAudio kontrola visoka je 60 piksela i široka 144 piksela

Drugi stilovi za kontrolu imaju druge podrazumevane veličine

Postavljanje pozadinske muzike na Web stranu, moguće je upotrebom sledećeg koda

<embed src=“test.wav” hidden=“true” autostart=“true”>

Page 28: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

28

Upotrebljivost i datoteke sa zvukom

Uvek obezbediti alternativni oblik pristupa podacima, jer podrška za zvuk nije uvek na rapolaganju

Omogućiti korisnicima da isključe zvuk koji je upotrebljen na lokaciji

Koristiti jednostavniju tehnologiju preuzmi-i-pusti koja je podržana u mnogim čitačima – ne zahtevati od korisnika da instaliraju mnoge dodatke za reprodukovanje raznih formata

Video

Mnoge kompanije pokušavaju da razviju emitovanje televizijskog programa preko Weba

Emitovanje visokokvalitetnog video zapisa od 30 sličica u sekundi

Većina dosadašnjih rešenja ne radi dobro sa propusnom moći koja je na raspolaganju prosečnom korisniku

Page 29: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

29

Osnove digitalnog videa

Digitalni video zapisi karakterišu se brojem snimljenih sličica u sekundi i njihovom veličinom i rezolucijom

Video zapisi mogu da budu veoma veliki, a naročito ako se teži PAL videu (televizijski kvalitet slike)

Video slika veličine 640 x 480 piksela sa 24-bitnom paletom boja i 30 sličica u sekundi zauzima 27 MB po sekundi - i to bez zvuka

Ako se tome doda i kvalitetni CD zvuk (705600 bitova za sekund zapisa), datoteka će dvostruko narasti

U stvarnosti, prenos tolike količine podataka nije lak čak ni kada se upotrebi kompresija

Formati datoteka sa video zapisima i njihova kompresija

RealVideo je dobar format tehnologije strujećeg videa. Datoteke u RM formatu mogu biti snimljene u različitim kvalitetima u zavisnosti od toga kolika propusna moć stoji na raspolaganju krajnjem korisniku.

RM

Advanced Streaming Format kompanije Microsoft isporučuje se Microsoftovom serverskom tehnologijom NetShow koja se sada zove Windows Media. Rastuća konkurencija formatu RealVideo, nudi visok kvalitet i dobru podršku IE.

ASF

Motion Picture Expert Group format za video zapise smatra se standardnim formatom za digitalni video. Iako su kompresija i kvalitet slike formata MPEG na visokom nivou, ponekad je s njim teško raditi.

MPEG

MOV je nastavak imena datoteke koji označava format QuickTime kompanije Apple. Različiti kodeci i poboljšanja učinili su QuickTime moćnim rešenjem za digitalne video zapise.

MOV (QuickTime)

Audio Video Interleave je format za digitalni zvuk i video za Windows. Često se sreće i lako zadaje. Na Internetu je sve više datoteka u tom formatu, bez obzira na to što mogu biti velike. IE se lako snalazi sa datotekama u tom formatu.

AVI

OpisFormat

Page 30: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

30

Formati datoteka sa video zapisima i njihova kompresija

Digital Versatile Disc (DVD) je možda najpoznatiji termin u svetu digitalnog videa. DVD plejeri su postali standard i osvajaju tržište mnogo brže nego video rekorderi nekada. Video signal brzine 9800 Kbps u rezoluciji 720x576 pruža vrhunski kvalitet slike. Na standardni DVD može da stane oko 2 časa digitalnog videa, što zavisi od njegovog kvaliteta.

DVD

DivX format baziran na standardu MPEG4 pomoću koga se dobijaju izuzetno komprimovane video datoteke vrhunskog kvaliteta. Posebno je podesan za razmenjivanje filmova. Ipak i ovaj format ima svoje nedostatke.

DivX

Super VideoCD (SVCD) Na DVD plejeru (ukoliko može da ga podrži), ovaj format pruža video izuzetnog kvaliteta. SVCD ima rezoluciju 480x576 piksela tako da, kada se reprodukuje na računaru može da izgleda pomalo nejasno.

SVCD

VideoCD (VCD) format pojavio se na azijskom tržištu koje nije želelo da za reprodukciju videa na DVD plejeru plaća astronomske cene DVD konzorcijumu. Kvalitet formata VCD bi mogao da se uporedi sa VHS kasetama – ni previše dobar ni previše loš. VCD diskovi mogu da se reprodukuju na većini savremenih DVD plejera.

VCD

OpisFormat

Zaključak

Izrada Web strana može biti veliki izazov jer potrebne tehnologije nisu sazrele i stalno se menjaju

Trebalo bi dobro analizirati prednosti i mane svih tehnologija za Web pre donošenja odluke koju primeniti

Čitači Weba i programi za izradu Web lokacija podložni su greškama

Rešavanje potencijalnih problema niskog nivoa – zahteva dobro poznavanje osnovnih tehnologija za Web poput jezika HTML i kaskadnih stilova

Page 31: Web tehnologije - vps.ns.ac.rs · PDF fileWeb tehnologije II deo ... HTTP protokol Web čitači su namenjeni za prikazivanje Web stranica koje im isporučuju odgovarajući Web serveri

31

Zaključak

Web stranama sigurno će biti dodato i programiranje

Prilikom odabira alata za programiranje – očuvati doslednost izboru

Multimedijski sadržaji imaju svoje mesto na Webu –tehnološka ograničenja sužavaju njihovu upotrebu

Tehnologije za Web

II deo