OSNOVI PRAVA

Download Report

Transcript OSNOVI PRAVA

6. Internet i multimedija
Web i HTTP
Web terminologija
• Web strana (dokument) se sastoji od objekata
• Objekat može biti HTML fajl, JPEG slika, Java aplet, audio fajl
…
• Web strana se sastoji od osnovnog HTML-fajla koji uključuje
nekoliko referenciranih objekata
• Svaki objekat može da se adresira koristeći URL
• Primer URL-a:
www.someschool.edu/someDept/pic.gif
ime host-a
• Browser je user agent za Web
putanja
Pregled HTTP-a
HTTP: hypertext transfer
protocol
• Protokol sloja Web aplikacija
• klijent/server model
– klijent: browser koji zahteva,
prima, "prikazuje na displeju"
Web objekte
– server: Web server šalje
objekte kao odziv na zahteve
• HTTP 1.0: RFC 1945
• HTTP 1.1: RFC 2068
PC running
Explorer
Server
running
Apache Web
server
Mac running
Navigator
HTTP pregled (nastavak)
Korišćenje TCP-a:
• klijent inicira TCP
konekciju (kreira soket) ka
serveru, port 80
• server prihvata TCP
konekciju od klijenta
• HTTP poruke (poruke
protokola aplikacijskog
sloja) razmenjene između
browser -a (HTTP klijent) i
Web servera (HTTP
server)
• Zatvorena TCP konekcija
HTTP je “stateless”
protokol
• server ne održava
informacije o prethodnim
zahtevima klijenata
HTTP konekcije
Neperzistenti HTTP
• Najviše jedan objekat
se šalje preko TCP
konekcije.
• HTTP/1.0 koristi
neperzistentni HTTP
Perzistentni HTTP
• Više objekata može
biti poslato preko
jedne TCP konekcije
između klijenta i
servera.
• HTTP/1.1 koristi
perzistentne
konekcije u default
modu
Neperzistentni HTTP
Pretpostavimo da je korisnik ukucao URL
(sadrži tekst i reference
na 10 jpeg slika)
www.someSchool.edu/someDepartment/home.index
1a. HTTP klijent-proces inicira TCP
konekciju ka HTTP serverprocesu www.someSchool.edu
na port 80 (default broj porta za
HTTP)
2. HTTP klijent šalje HTTP zahtevporuku (koja sadrži URL) na TCP
soket za tu konekciju. Zahtevporuka pokazuje da klijent želi
objekat
/someDepartment/home.index
time
1b. HTTP server na hostu
www.someSchool.edu čeka na
TCP konekciju na portu 80,
“prihvata” konekciju,
obavešavajući klijenta
3. HTTP server-proces prima
zahtev-poruku, nalazi objekat,
formira odziv-poruku koja sadrži
zahtevani objekat i šalje poruku
na njegov soket
Neperzistentni HTTP (nastavak)
4. HTTP server zatvara TCP
konekciju.
5. HTTP klijent prima odziv-poruku
koja sadrži html fajl i prikazuje html.
Parsirajući html fajl, nalazi 10
referenciranih jpeg objekata
time
6. Koraci od 1 do 5 se ponavljaju za
svaki od referenciranih (10 jpeg)
objekata
Modelovanje vremena odziva
Definicija RTT (round-trip time):
vreme potrebno da se pošalje
mali paket od klijenta do
servera i natrag.
Vreme odziva:
• jedan RTT za iniciranje TCP
konekcije
• jedan RTT za HTTP zahtev i
nekoliko prvih bajtova HTTP
odziva za vraćanje
• vreme transmisije fajla
total = 2RTT + vreme prenosa
initiate TCP
connection
RTT
request
file
time to
transmit
file
RTT
file
received
time
time
Perzistentni HTTP
Neperzistentni HTTP:
• zahteva 2 RTT-a po objektu
• OS mora da radi i alocira hostove resurse za svaku TCP
konekciju
• browser-i često otvaraju
paralelne TCP konekcije da bi
dohvatili referencirane objekte
Perzistentni HTTP
• server ostavlja TCP konekciju
otvorenu posle slanja odziva
• sledeći zahtevi i odzivi između
istog klijenta i servera mogu biti
poslati preko iste konekcije
Perzistencija bez pipelining-a:
• klijent izdaje nov zahtev jedino
kada je prethodni odziv primljen
• jedan RTT za svaki referencirani
objekat
Perzistencija sa pipelining-om:
• default u HTTP/1.1
• klijent šalje zahteve čim
pronađe referencirani objekat
• jedan RTT za sve referencirane
objekte
HTTP zahtev-poruka
• dva tipa HTTP poruka: zahtev, odziv
• HTTP zahtev-poruka:
– ASCII (čitljiv format)
request line
(GET, POST,
HEAD commands)
GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
header User-agent: Mozilla/4.0
lines Accept-language:fr
Carriage return,
line feed
indicates end
of message
(extra carriage return, line feed)
HTTP zahtev-poruka: opšti format
Uploading formulara
POST metod:
• HTTP klijent često koristi
POST metod kada korisnik
popunjava formular
• telo entiteta sadrži ono što
je korisnik uneo u polja
formulara
URL metod:
• Koristi se GET metod
• Ulaz je upload-ovan u
URL polje linije zahteva:
www.somesite.com/animalsearch?monkeys&banana
Tipovi metoda
HTTP/1.0
• GET
• POST
• HEAD
– metod je sličan GET
metodu. Kada server primi
zahtev od HEAD metoda,
on odgovara HTTP
porukom ali ostavlja
zahtevani objekat
– Koristi se za debugging
HTTP/1.1
• GET, POST, HEAD
• PUT
– metod se često koristi u spoju sa
Web publishing alatima. Korisnik
upload-uje objekat u telo entiteta
na određenoj putanji na
određenom Web serveru
• DELETE
– metod dozvoljava ili korisniku ili
aplikaciji da obriše fajl, određen
u URL polju, na Web serveru
HTTP odziv-poruka
status line
(protocol
status code
status phrase)
header
lines
data, e.g.,
requested
HTML file
HTTP/1.1 200 OK
Connection: close
Date: Thu, 03 Jul 2003 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Sun, 5 Maj 2005 GMT
Content-Length: 6821
Content-Type: text/html
data data data data data ...
HTTP status kodovi odziva
U prvoj liniji u server->klijent odziv-poruci.
Nekoliko uzoraka koda:
200 OK
– zahtev je uspeo i informacija se vraća sa odzivom
301 Moved Permanently
– zahtevani objekat je permanentno uklonjen, novi URL je
određen u ovoj poruci (Location:)
400 Bad Request
– zahtev-poruka je nerazumljiva serveru
404 Not Found
– zahtevani dokument nije nađen na ovom serveru
505 HTTP Version Not Supported
Proba HTTP (klijent strane) za vas
1. Primenite Telnet na vaš omiljeni Web server:
telnet cis.poly.edu 80
Otvara TCP konekciju na portu 80
(default HTTP server port) na cis.poly.edu.
Bilo šta što se ukuca šalje se na
port 80 na cis.poly.edu
2. Ukucaj GET HTTP zahtev:
GET /~ross/ HTTP/1.1
Host: cis.poly.edu
Ukucavajući ovo (pritisnite carriage
return - skok na početak reda
dva puta), šaljete ovaj minimalan
(ali komletan) GET zahtev
na HTTP server
3. Pogledaj odziv-poruku poslatu od HTTP servera!
Korisnik-server interakcija: kolačići-cookies
-HTTP server je stateless
-Mnogi glavni Web sajtovi
koriste cookies
Četiri komponente:
1) cookie heder linija u HTTP
odziv-poruci
2) cookie header linija u HTTP
zahtev-poruci
3) cookie fajl koji se drži na
korisničkom hostu i kojim se
upravlja od strane korisničkog
browser-a
4) back-end baza podataka na
Web sajtu
Primer:
– Susan pristupa Internet-u uvek sa
istog PC-a
– Ona posećuje određeni ecommerce sajt po prvi put
– Pri inicijalizaciji HTTP zahtevi
dolaze na sajt, sajt kreira
jedinstveni ID i kreira ulaz u backend bazu podataka sa indeksom
koji je jednak ID-u
Cookies: vodi računa o “stanju” (nastavak)
client
Cookie file
ebay: 8734
Cookie file
amazon: 1678
ebay: 8734
one week later:
Cookie file
amazon: 1678
ebay: 8734
server
usual http request msg
usual http response +
Set-cookie: 1678
usual http request msg
cookie: 1678
usual http response msg
usual http request msg
cookie: 1678
usual http response msg
server
creates ID
1678 for user
cookiespecific
action
cookiespectific
action
Cookies (nastavak)
Koji cookies se mogu
dovesti:
• autorizacija
• shopping karta
• preporuke
• stanja sesija korisnika
(Web e-mail)
Cookies i privatnost:
• cookies zahtevaju da sajtovi
znaju dosta o vama
• vi možete da snabdete sajt
imenom i e-poštom
• mašine za pretraživanje
koriste redirekciju & cookies
da saznaju još više
• reklamne kompanije
dobijaju informacije preko
sajtova
Web keš (zastupnik-proxy server)
Cilj: da se zadovolji klijentov zahtev bez uključenja
izvornog Web servera
• korisnik postavlja
browser: Web pristup
preko keša
• pretraživač šalje sve
HTTP zahteve kešu
– ako je objekat u kešu:
keš vraća objekat
– ako nije, keš zahteva
objekat od izvornog
servera, onda vraća
objekat klijentu
origin
server
client
client
Proxy
server
origin
server
Više o Web keširanju
• Keš radi kao i klijent i
server
• Tipično keš se instalira od
strane ISP-a
(univerzitetski,
kompanijski, rezidencijalni
ISP)
Zašto Web keširanje?
• Smanjuje vreme odziva na
zahtev klijenta
• Smanjuje saobraćaj na
pristupnom linku institucija
• Internet sa kešom
omogućuje da “siromašan”
sadržaj provajdera bude
efikasno isporučen (to radi i
P2P deljenje fajla)
Dodatak 1: Zašto multimedija na
Internetu?
• Easy global, round-the-clock access
• Cross-platform delivery: should look the
same for most users
• Easy addition of interactivity
• Easy to update (low distribution costs)
A zašto ne … ?
• Bandwidth limitations (modem access)
• Slow networks
• HTML is rather primitive as a page
description language
• Interactivity still limited, compared to other
media such as CD-ROM
• Copyright and intellectual property issues
Internet
• The network of networks
• A distributed, heterogeneous network
based on the TCP/IP protocol
• All types of transmission media:
– fiber optic cables, coaxial and other copper
cables/lines
– phone lines
– ATM and wireless links
Kako Internet radi
• Internet and TCP/IP were not designed with
multimedia as a design requirement
• Data is transmitted over TCP/IP in small chunks
– packets (up to 1.5K in size)
• Each packet can take its own route, depending
on the traffic along the way
• Messages reassembled at the destination site
• Missing packets can be requested again and
retransmitted
Problemi
• Multimedia data are transmitted as
continuous streams (large traffic)
• Multimedia data should arrive in order
(TCP/IP does not guarantee ordered arrival)
• Multimedia playback cannot wait for missing
packets
Brzina? ...
• Most users are connected via Ethernet
(coaxial cable or RJ-45)
• Ethernet speed ? (sounds OK for video –
with some compression)
• but: the use of CSMA/CD protocol limits
the effective speed to 3 to 4 MB/s
• Another problem: application layers and
Ethernet bus topology
Šta da se radi?
• use faster machines, bigger disks
• use compression (with or without loss)
• use streaming protocols (to enable
immediate playback)
• MBone (the virtual Multicast Backbone On
the interNEt) – technology that enables
(distribution of and access to) real-time
interactive multimedia on the Internet
Kako da se povežete
• Internet is not a central service, such as
telephone or water authority
• It is a loose connection of a number of networks
• To connect to the Internet:
– physically connect your computer to somebody else’s
– register your server(s) with the registering authority
– wait for your server information to spread to the
Domain Name Servers all over
Imena i adrese
• Each name must belong to a certain domain
– There are only a few top-level domains
– Organization gets a name within the domain (edu.yu)
– Sub-domains can exist as well (singidunum.ac.yu)
– Computers or sub-networks are sometimes
individually identified (and sometimes not)
• Each name corresponds to an IP address of the
form x.y.z.u (x, y, z, and w are one-byte binary
numbers – from 0 to 255)
Protokoli i servisi
• Protocol must be specified as well
• Different protocols exist, and they differ in
many aspects
• The appropriate daemon (or server
component) must be executing on that
host
Internet Y2K problem
• 32-bit addressing can give only so many
computer addresses (about 4 billion) in the
best case, but the actual number is much
smaller
• The next version of the IP protocol (IPv6,
or IPng, for “next generation IP”) uses
128-bit addresses
• Which would suffice for the next few
hundred years (maybe)
Fizička konekcija
• By wires or via a wireless connection
• Connectivity is the key
• One thing is sure: Internet is changing the
established way of working and living, and
it will change them even more in the future
Multimedija na Internetu:
Mogućnosti
•
•
•
•
•
•
•
information gathering
interactive collaboration
distance learning
electronic commerce
distributed simulations
online entertainment and games
Changes the established way of working
On-line servis provajderi
•
•
•
•
•
HK Telecom Netvigator, STAR Internet, …
Microsoft Network
America Online and Compuserve
Prodigy
Basic concept: “everything for everybody”
Elektronske vesti i magazini
• General news agencies (CNN, ABC News)
• Specialized news for particular market
segments (PC-World, ZDnet, …)
• Various business-related information
available
– Market research information
– Financial information
Podrška korisnicima
• Electronic bulletin boards and email-based
technical support
• 24-hour support
• Hardware and software product
information and updates
• Various add-ons, shareware, drivers, and
other related information
Mašine za pretraživanje i
Direktorijumi
• Search engines allow locating relevant
information on the Web
• Searches are basically full-text searches
• Directories of users/email addresses,
physical addresses, hotels, …
• Portals
Online mitinzi i konferencije
• Possibility for real-time, on-line meetings
• Useful for
– press conferences
– training sessions
– sales meetings
• graceful degradation often possible: more
users means lower frame rate
Electronic Commerce
• Internet-based electronic marketplace will
support all business services
– specialized directories
– broker and referral services
– vendor certification and credit reporting
– network notaries and repositories
– financial and transportation services
• EC is a very hot topic
HTML
• Started as platform-independent markup
language
– you specify the content and
– logical markup (Header 1, Header 2, ...)
– the final rendering of the page is left to the
browser
• Primarily geared towards hypertext
documents (links, targets)
• The standard for Internet documents
Međutim:
• HTML is evolving towards greater author
control – extensions tend towards
including more direct formatting
instructions
• Many extensions:
– CSS (cascaded style sheets)
– downloadable fonts
Integrisana multimedija
• The ultimate goal is to produce a seamlessly
integrated multimedia presentation
• Multimedia content must be embedded in HTML
documents
• Different ways of integrating multimedia contents
on the Web pages
– MIME - Multipurpose Internet Mail Extensions
– Helper apps
– Browser plug-ins
MIME
• Standard way to identify the content
• Integrated into the HTTP protocol
• Information on types and subtypes, e.g.
– text/plain
– text/html
– image/gif
– application/x-director
• Allows the browser to determine how to
process the data
MIME procesiranje
browser
server
requests a file
looks up file extension
looks up MIME type
returns MIME type
(and file data)
looks up who will
handle this file type
displays the file, or
activates helper, or
activates plug-in
Helper aplikacije
• External “viewer” applications for particular
types of data
• Separate from the browser
+ browser can be smaller
– must be installed and set up separately
• Data displayed in a separate window –
little integration, not much continuity
Browser plug-ins
• External code modules (essentially,
stripped-down applications)
• Enable inline display of media content
+ good content integration and continuity
+ well integrated with the browser
+ plugins are usually free
– but must be set up by the user
• As always, we would like to have it
installed automatically
Scripting
• Use of small program modules in a
scripting language
• Server- vs. client-side scripting
• Most common languages:
– Perl (scripting language similar to C)
– JavaScript (scripting language similar to Java)
– Visual Basic (similar to … )
Brzina konekcije
• At low speeds, the download time
dominates
• At higher speeds, the connection setup
overhead becomes more noticeable
(except for very large file sizes)
Connection
speed
Data rate
Minimum download
time for 10 KB
14.4 Kbps
56 Kbps
T1 (1.5 Mbps)
1.6 KB/s
7 KB/s
192 KB/s
 7-8 s
2s
<1s
Trenutno:
• Internet multimedia experience is usually
of the “wait for it to download, then display
it” type
• Access times can be
– long, sometimes unacceptable – for modemconnected users
– shorter, but with unpredictable behavior – for
LAN-connected users
Šta uraditi?
• Rule says:
bandwidth
= satisfaction
filesize
• Keep it as small as possible
• Provide alternate display
– low resolution image (even black-and-white)
– use progressive JPEG instead of plain JPEG
– animated GIF for a movie, icon for audio
– indicate file size, and let the user decide
whether to download it or not
Streaming
• Continuous delivery of multimedia data,
(hopefully) in real time
• Real-time delivery = limited bandwidth
• Therefore, lossy compression must be used
– streaming should not be mixed with special file
formats (such as progressive JPEG) which enable the
user to start playback before the downloading has
been completed
• RealMedia, Vxtreme, VDOLive video
Pregled
• Internet will change the way we work. It is,
and will be used for accessing and
distributing multimedia contents. However,
there still are problems, mainly related to
speed – you should
– keep multimedia objects small
– try to deliver it fast
– provide alternate content for really big files
(image, sound, video)
Dodatak 2: Nastavak poglavlja 6
• Internet i Web tehnologije
– Definicije
– Razvoj WWW
• Koncept hipermedija
– Šta je HyperText/HyperMedia
– Kratka istorija hiperteksta
– Primeri sistema zasnovanih na hipertekstu
– Kratka istorija World Wide Web-a 1945-1995
– Internet browser-i
– Navigacija Internetom – pretraživanje Web stranica
Internet
• Povezan skup računarskih mreža koje
koriste Transmission Control Protocol
(TCP) i Internet Protocol (IP), odnosno
skup protokola pod zajedničkim nazivom
TCP/IP
– računarska mreža: sistem računara
povezanih radi deljenja informacija pomoću
telefonskih linija ili na neki drugi način.
World-Wide Web
A. Sistem Internet servera koji podržava
posebno formatirane dokumente.
Dokumenti su formatirani u posebnom
jeziku pod nazivom HTML (HyperText
Markup Language) koji omogućava
veze prema drugim dokumentima, kao i
grafičkim, audio i video fajlovima.
B. Globalni grafički hypertext informacioni
sistem koji se izvršava na Internet
mreži.
Svojstva Web-a
• ne treba ga poistovećivati sa celim Internetom nisu svi Internet serveri deo WWW
• pristup dokumentima preko posebnih
aplikacija, tzv. Web čitača (Web browsers)
– Netscape Navigator
– Internet Explorer
– Mozilla Firefox
• jednim klikom miša se prelazi u dokument, bez
obzira gde se fizički nalazi
• osnovna jedinica – Web stranica (Web page)
Sastavne komponente Web-a
• Hypertext Transmission Protocols (HTTP)
• Hypertext Markup Language (HTML)
• Uniform Resource Locator (URL)
HTTP - Hypertext Transmission
Protocol
• jednostavan protokol na nivou aplikacije za pristup
hipermedija dokumentima
• klijent otvara konekciju ka serveru, šalje zahtev i čeka
odgovor. Server generiše odgovor, šalje ga klijentu i
zatvara konekciju
• keširanje prometa – “proxy”
HTML - Hypertext Markup Language
• podskup ISO standarda SGML (Standard Generalized
Markup Language)
• može se editovati običnim tekst-editorom (slično kao
PostScript)
• Primer:
<IMG SRC="image.gif" HSPACE="5">
URL - Uniform Resource Locator
• URL adresa sadrži informaciju o tome gde se
nalazi datoteka (stranica) i šta čitač treba da
uradi s njom
• Sintaksa:
<protokol>://<server>/<putanja>/<datoteka>
http://www.singidunum.ac.yu/aktuelno/rokovi.html
• Apsolutne i relativne URL adrese
– relativna adresa http://../mm/pp/index.html
– u fajlu www.singidunum.ac.yu/2005/npp/pregled.html
– prevodi se u apsolutnuURL adresu
http://www.singidunum.ac.yu/2005/mm/pp/index.html
Šta nije World-Wide Web
Bez multimedijskih pretpostavki
• Diskusione grupe
• Liste slanja
• FTP
• Ćaskanje (Chat)
• Telefoniranje
• Telnet
• Gopher
Ideja tehnologije povezivanja
naučnih informacija
Vannevar Bush
• Naučni savetnik Rozvelta za vreme II
svetskog rata. Osnivač Office of Scientific
Research and Development, koja je
nadzirala i izradu atomske bombe
• Vizionarski opisao upotrebu informacionih
tehnologija, što je inspirisalo mnoge
kreatore Internet-a (As We May Think,
Atlantic Monthly, July 1945 )
• Od 1946 do 1947, Bush je predsedavao
Joint Research and Development Board,
iz koga se razvila DARPA, koja će
pokrenuti projekat ARPANET.
Šta je HyperText
• Hypertext je tekst koji ne mora da bude
linearan, odnosno tekst koji sadrži veze
prema drugim tekstovima.
• HyperMedia je hipertekst koji ne mora
da bude samo tekst, već može da sadrži
npr. grafiku, video i zvuk.
• Termine je uveo Ted Nelson u članku “A File
Structure for the Complex, the Changing, and
the Indeterminate”, 20th National Conference,
New York, Association for Computing
Machinery, 1965
Dva osnovna principa za
hipermedija dokumente
• svaka stranica (page) ima sopstvenu fizičku
adresu (u slučaju World-Wide Web-a, njegov
Uniform Resource Locator ili URL).
• čitalac se može slobodno pomeriti sa jedne
stranice na drugu klikom na reč, niz reči ili sliku,
kao vezu (link). Veza je dizajnirana i posebno
označena na ekranu (osvetljena u drugoj boji ili
potcrtana).
Svojstva hiperdokumenata
• Intertekstualnost
Nijedno delo nije potpuno izolovano – povezivanje
referenci (posebno naučni članci)
• Živi tekst
Hiperdokument praktično nikada nije završen ili
konačan (odziv, feedback)
• Tehnički problemi
–brzina promene stranice (speed)
–navigacione informacije (navigational information)
–pogodnost za ekransko čitanje (screen reading)
Kratka istorija hiperteksta
•
•
•
•
•
•
•
•
•
•
•
1945 Vannevar Bush (naučni savetnik Ruzvelta) predlaže Memex.
1965 Ted Nelson uvodi termin "Hypertext"
1967 Andy van Dam gradi Hypertext Editing System i FRESS
1968 Doug Engelbart demonstrira NLS sistem
1975 ZOG (sada KMS) na CMU.
1978 Aspen Movie Map, prvi hipermedija videodisk, MIT.
1984 Filevision firme Telos: hipermedijska baza podataka za
Macintosh
1985 Symbolics Document Examiner, autor Janet Walker.
InterMedia, Brown University, N. Meyrowitz
1986 OWL predstavlja Guide, prvi široko raspoloživi hypertekst
1987 Apple predstavlja Hypercard, B. Atkinson.
Hypertext'87 Workshop
1990 European Conference on HyperText (ECHT)
Primeri prvih sistema zasnovanih na
hipertekstu
• NLS/Augment, (1969!) - strukurisani dokumenti,
čuvaju se kao outline, koji omogućava zoom. Povezani
pomoću pune putanje, pa mogu biti na više računara.
• Guide – dokumenti mogu da sadrže tekst i grafiku, a
njihova struktura je u posebnim fajlovima pod nazivom
"guidelines". Pristup videu i dokumentima je moguć iz
drugih aplikacija. Nema Web vizualizacije.
Univerzitet u Kentu, 1984.
Prvi široko rasprostranjeni hipertekst sistem razvijen za
MS-Windows i Macintosh, uz razvojnu verziju za Unix.
Primeri sistema zasnovanih na
hipertekstu
• Hypercard – sistem za Macintosh. Uključuje grafiku i
tekst, a ostale medije kroz ekstenzije. Koristi snažan
skript jezik i predstavlja osnovu za većinu stvarnih
aplikacija, a potreba za pisanjem skriptova je za neke
primene nedostatak (Apple, 1987)
• Internet Gopher (“torbar”) – PC/Mac klijent za
pretraživanje i izvlačenje dokumenata. Koristi se za
nalaženje starih sadržaja na Internetu.
gopher://gopher.micro.umn.edu/ll/
• WWW - WorldWideWeb inicijativa i sistem zasnovan
na konceptu hiperteksta, razvijen na CERN-u, 1990.
Kratka istorija World Wide Web-a
1945-1995 (1/4)
• 1945. Američki naučnik dr Vannevar Bush opisao
Memex, hipotetični foto-elektro-mehanički uređaj za
pamćenje dokumenata, koji je kreirao i pratio
tekstualne veze (links) između njih.
• 1960. NLS - prototip sistema koji vrši čitanje i
editovanje uz pomoć hiperveza, razmenjuje
elektronsku poštu i slično, pomoću miša
• 1965. Pojmovi Hypertext i Hypermedia, Ted Nelson
• 1967. Hypertext Editing System, Andy van Dam
Kratka istorija World Wide Web-a
1945-1995 (2/4)
• 1980. – Na CERN-u konsultant Tim Berners-Lee je
napisao program ENQUIRE, koji je omogućavao
stvaranje veza između proizvoljnih čvorova. Svaki čvor
je imao naziv, tip i listu dvosmernih tipizovanih veza.
• 1989. - Na CERN-u cirkuliše članak Tima BernersLee-ja "Information Management: A Proposal", zajedno
sa prilogom "HyperText and CERN".
• 1990. – Na CERN-u Tim Berners-Lee razvio
program WorldWideWeb kao WYSIWYG
browser/editor sa mogućnošću direktnog kreiranja
linkova.
Izgled ekrana prvog
WorldWideWeb browser/editora
Nastanak World-Wide Web-a
• Tim Berners-Lee je tvorac HTML-a
• Poznavalac sistemskog dizajna,
komunikacija u realnom vremenu i
razvoja softvera za obradu teksta
• Dok je radio u CERN-u, 1989
godine, predložio je World Wide
Web, hipermedijsku inicijativu za
globalno deljenje (sharing)
informacija na bazi Interneta.
Kratka istorija World Wide Web-a
1945-1995 (3/4)
• 1991. - U avgustu sistem WWW se širi mrežom pomoću FTP.
Demonstracija na konferenciji Hypertext'91 u San Antoniju.
• 1992. - Distribucija WWW preko CernLib, uključujući čitač Viola.
WWW biblioteka koda prenesena na mrežu DECnet.
U novembru projekat WWW na 26 razumno pouzdanih servera.
Server NCSA's je upravo pridodat, ali još nema čitača Mosaic.
• 1993. - Alfa verziju čitača Marc Andreessen-a Mosaic for X.
U martu WWW (Port 80 HTTP) promet iznosi 0.1% ukupnog prometa na
mreži NSF, a u septembru 1%. U oktobru preko 200 poznatih HTTP
servera.
30. aprila deklaracija CERN-ovih direktora da svako može da koristi
WWW tehnologiju besplatno, bez obaveze plaćanja CERN-u. "The New
York Times", "The Guardian" i "The Economist" pišu o fenomenu Interneta
i WWW.
Nastanak prvog Web čitača
• Mark Andreesen, student i neko vreme
asistent u NCSA (National Center for
Supercomputing Applications) na
University of Illinois, Urbana
1992. godine sa kolegom Erikom Binom
napisao novi program pod nazivom
Mosaic
Uveo grafiku u Web stranice (slike i tastere
za navigaciju) i grafički prikaz hiper-linkova
• Aleksander Totic je razvio verziju Mac
Mosaic
Kratka istorija World Wide Web-a 19451995 (4/4)
• 1994. -Marc Andreessen napušta centar NCSA i formira Mosaic
Communications Corp (kasnije menja naziv u Netscape).
Prva međunarodna konferencija o WWW na CERN, tzv.
"Woodstock of the Web“, druga WWW konferencija "Mosaic and
the Web“, Chicago.
Nastavak razvoja WWW na INRIA.
U junu preko 1500 registrovanih servera. Broj pristupa prvom Web
serveru (info.cern.ch) povećan 1.000 puta za 3 godine.
• 1995. - U februaru skup G7 u Briselu čija je tema Web.
Treća međunarodna konferencija posvećena Web-u “Tools and
Applications”, čiji je domaćin Fraunhofer Gesellschaft.
U Gracu Technical University of Graz (Hyper-G), CERN, University
of Minnesota (Gopher) i INRIA osnivaju Web Society.
Pojam browser-a
• browse – pasti (travu); brstiti;
• browser: skraćeni naziv za Web browser,
aplikaciju koja se koristi za pronalaženje i
prikaz Web stranica.
Softver browser-a interpretira HTML stranicu i
omogućava da vidimo njen sadržaj.
Netscape i Internet Explorer pokrivaju 95%
tržišta. Oba prikazuju tekst i grafiku, kao i
multimedijske sadržaje (zvuk i video).
Web klijent i Web server
HTTP
Re
ques
t
Text-only Terminal
PC
Apple Mac
HTTP
Resp
onse
equest
HTTP R
e
espons
HTTP R
t
es
u
q
Re
P
e
T
ns
HT
o
p
es
R
TP
HT
<HTML>
<HEAD>
...
</HEAD>
<BODY>
.......
.......
</BODY>
</HTML>
Web Server
Web
Author's
Computer
Format poruke HTTP: request
• imamo dva tipa http poruka: request i response
• http request poruka: ASCII, tekstualni format koji
čovek može da pročita
request linija (komande GET, POST, HEAD)
GET /somedir/page.html HTTP/1.0
User-agent: Mozilla/4.0
linije Accept: text/html, image/gif,image/jpeg
zaglavlja Accept-language:fr
(dodatni CR, LF)
Carriage return, line feed
označavaju kraj poruke
Opšti format poruke HTTP
zahteva
Format poruke HTTP: response
status linija
(protokol
status code
opis statusa)
linije
zaglavlja
HTTP/1.0 200 OK
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 …...
Content-Length: 6821
Content-Type: text/html
data data data data data ...
podaci, npr.
traženi
html fajl
Kodovi i opisi statusa HTTP
odgovora
U prvoj liniji odgovora servera klijentu, npr.:
200 OK
– uspešan zahtev, zahtevani objekat sledi u nastavku poruke
301 Moved Permanently
– zahtevani objekt premešten, nova lokacija navedena u
nastavku poruke (Location:)
400 Bad Request
– nerazumljiv zahtev za server
404 Not Found
– zahtevani dokument nije pronađen na ovom serveru
505 HTTP Version Not Supported
Web browser
st
e
u
eq
R
TP
T
H
e
s
n
spo
e
R
P
Web Server
T
HT
Web Client
Standardni alati Web browser-a
•
•
•
•
•
•
•
•
Address / Navigation bar
Forward / Back
Home / Stop
Favorites list / Bookmarks
History button
Printing a Web page
Saving a Web page/Text/Picture
Search Internet
NAVIGACIJA INTERNETOM –
PRETRAŽIVANJE
Pretraživači – mašine za
pretraživanje
• Pretraživači su ogromne baze podataka Web
stranica koje se automatizovano formiraju
– preko 8 milijardi (Google) i raste
• Postoje dva tipa pretraživača
– individualni - samostalno formiraju bazu podataka
Web stranica (Google)
– meta-pretraživači – istovremeno pretražuju baze
podataka više individualnih pretraživača
(MetaCrowler)
Ostali načini nalaženja sadržaja na
Web-u
• Kapije (gateways) – stručno obrađeni sadržaji
• Imenici pojmova (subject directories) koji se
formiraju ljudskom intervencijom
– portali – imenici pojmova koji služe kao osnovne
stranice (home pages): Yahoo, Lycos
– vortali – "vertikalni portali“ (vertical portals) su portali
posvećeni nekoj specifičnoj problematici: Yahoo,
Netscape, MSN, Excite
• Pretraživanje "nevidljivog" (invisible, deep) dela
Web-a (60-80% sadržaja)
Način rada individualnih
pretraživača
• Koriste posebne programe - "pauke" (spiders) ili
"robote" (robots, bots) koji obilaze Web od
jednog hiper-linka do drugog, identifikujući i
analizirajući Web stranice ("gmižu" kroz Web).
• Posledica - prilikom konkretnog pretraživanja
Web-a se stvarno pretražuju samo ove
indeksirane baze podataka, koje sadrže samo
deo Web stranica i to u nekom ranijem stanju
(zastareli i nevažeći linkovi)
Arhitektura individualnih
pretraživača
Primeri pretraživača (oko 2500)
• AltaVista
http://www.altavista.com
• Ask Jeeves
http://www.askjeeves.com
• Excite http://www.excite.com
• LookSmart
http://www.looksmart.com
• Google http://www.google.com
• HotBot http://www.hotbot.com
• Infoseek
http://www.infoseek.com
• Lycos http://www.lycos.com
• Magellan
http://magellan.excite.com
• About.com
http://www.about.com
• Northern Light
http://www.northernlight.com
• WebCrawler
http://www.webcrawler.com
• Yahoo http://www.yahoo.com
Stvarni obuhvat Web sadržaja
poznatijih pretraživača
% svih indeksiranih stranica
% koje su
mrtvi linkovi
Alta Vista
47%
2,5%
Northern Light
39%
5,0%
Excite
17%
2,0%
Lycos
16%
1,6%
InfoSeek
14%
2,6%
Search Engine
Podaci iz istraživanja NEC Research Institute, 1998. g.
Klasifikacija i procena Web stranica
• Prema izvoru (Web adresa, URL), npr.
–
–
–
–
–
–
.edu
.com
.gov
.mil
.net
.org
–
–
–
–
–
–
edukacioni site (univerziteti i škole)
komercijalni poslovni site
državni nevojni (US ili .cc)
vojni site-ovi i agencije (US ili .cc)
mreže (networks), internet provajderi, organizacije
neprofitne organizacije i drugo (US ili .cc)
• Prema osnovnim podacima o stranici (Last date page
updated; Mail-to link for questions; comments; Name address - telephone number - email address of page
owner)
• Prema sadržaju (čitanje!)
Pretraživanje po ključnim rečima
• Unose se jedna ili više karakterističnih reči ili fraza
• Default veza – AND ili OR – zavisi od pretraživača
• Bulovi izrazi: AND, OR i NOT
A and B
A or B
A and not B
A
B
Pretraživanje po poljima (intitle)
Operatori
pretraživanja
• cache:
• link:
• related:
• info:
• define:
• stocks:
• site:
• allintitle:
• intitle:
• allinurl:
• inurl: