Tradicionalne Internet aplikacije

Download Report

Transcript Tradicionalne Internet aplikacije

Postoje dve vrste protokola aplikacionog nivoa
koje zavise od toga za šta su namenjeni:
-
-
Privatna komunikacija. Programer kreira par
aplikacija koje komuniciraju preko Interneta sa
namerom da taj par bude za privatnu
upotrebu.
Standardizovani servis. Internet servis se definiše
sa očekivanjem da će mnogi programeri
kreirati serverski softver da bi ponudili servis
ili klijentski softver za pristup servisu.
Protokoli aplikacionog nivoa specifikuju dva
aspekta interakcije: predstavljanje i prenos.
Aspekt
Opis
Predstavljanje podataka
Sintaksa podataka koji se razmenjuju, određena
forma koja se koristi tokom prenosa, prevođenje
celih brojeva, karaktera, i datoteka između
kompjutera
Prenos podataka
Interakcija između klijenta i servera, sintaksa i
semantika poruke, upravljanje greškama tokom
razmene, prekid interakcije
World Wide Web je jedan od najviše korištenih servisa
na Internetu. Zbog toga što je Web kompleksan,
razvijeni su mnogi standardi protokola za
specifikovanje raznih aspekata i detalja. Postoje tri
ključna standarda.
Standard
Svrha
HyperText Markup
Language (HTML)
Standard za predstavljanje koji specifikuje
sadržaje i raspored web stranice
Uniform Resource
Locator (URL)
Standard predstavljanja koji specifikuje format i
značenje identifikatora web stranice
HyperText Transfer
Protocol (HTTP)
Prenosni protokol koji specifikuje kako brauzer
interaguje sa web serverom za prenos podataka
HyperText Markup language (HTML) je standard
predstavljanja koji specifikuje sintaksu za web
stranicu. HTML ima sledeće opšte karakteristike:
-
-
-
Koristi tekstualno predstavljanje
Opisuje stranice koje sadrže multimediju
Sledi deklarativnu, a ne proceduralnu paradigmu
Obezbeđuje specifikacije označavanja umesto
formatiranja
Dozvoljava da se hiperlink postavi u proizvoljan
objekt
Omogućava da dokument sadrži metapodatke
Opšta forma HTML dokumenta:
<HTML>
<HEAD>
<TITLE>
tekst koji sačinjava naslov dokumenta
</TITLE>
</HEAD>
<BODY>
telo dokumenta se pojavljuje ovde
</BODY>
</HTML>
Web koristi sintaksičku formu poznatu kao Jedinstveni
lokator resursa (Uniform Resource Locator-URL) za
specifikovanje web stranice.
URL sadrži informacije koje su potrebne brauzeru da
bi učitao stranicu.
Opšti oblik URL-a je:
protocol://computer_name:port/document_name?parameters
HyperText Transfer Protocol (HTTP) je glavni
prenosni protokol kog brauzer koristi da bi
interagovao sa web serverom.
HTTP se može okarakterisati na sledeći način:
-
-
Koristi tekstualne kontrolne poruke
Prenosi datoteke binarnih podataka
Prenosi podatke u oba smera (download i upload)
Inkorporira keširanje
Kada uspostavi konekciju, brauzer šalje jedan od
četiri HTTP zahteva serveru:
Zahtev
GET
Opis
Zahteva dokument; server odgovara slanjem statusnih
informacija kojima sledi kopija dokumenta
HEAD
Zahteva statusne informacije; server odgovara slanjem statusnih
informacija, ali ne šalje kopiju dokumenta
POST
Šalje podatke serveru; server dodaje podatke određenoj stavci
(npr, poruka se dodaje listi)
PUT
Šalje podatke serveru; server koristi podatke da bi potpuno
zamenio određenu stavku (tj, piše preko prethodnih podataka)
Keširanje obezbeđuje značajnu optimizaciju za
web pristup jer korisnici nastoje da posećuju
iste web sajtove više puta.
Veći deo sadržaja na nekom sajtu se sastoji od
velikih slika koje koriste Graphics Image Format
(GIF) ili Joint Photographic Experts Group (JPEG)
standarde.
Brauzer može smanjiti vreme prenosa značajno
čuvanjem kopije svake slike u kešu na
korisnikovom disku i koristeći keširanu kopiju.
Algoritam keširanja
Dato:
URL za neku stavku na web stranici
Dobiti:
Kopiju te stranice
Metod:
if (stavka nije u lokalnom kešu) {
Izdati GET zahtev i postaviti kopiju u keš;
} else {
Izdati HEAD zahtev serveru;
if (keširana stavka je ažurirana) {
koristiti keširanu stavku;
} else {
Izdati GET zahtev i postaviti kopiju u keš;
}
}
Najviše korišteni prenosni servis na Internetu
koristi FTP, koji se karakteriše na sledeći način:
-
-
-
Proizvoljan sadržaj datoteka
Dvosmerni prenos
Podrška autentikaciji i vlasništvu
Mogućnost za prelistavanje foldera
Tekstualne kontrolne poruke
Prilagođavanje heterogenosti
Algoritam FTP komunikacije
Dato:
FTP kontrolna konekcija
Postići:
Prenos podataka preko FTP konekcije podataka
Metod:
Klijent šalje zahtev za određenu datoteku preko kontrolne konekcije;
Server prima zahtev;
Klijent postavlja lokalni protokol port, naziva ga X;
Klijent se vezuje za port X i priprema da prihvati konekciju;
Klijent šalje “PORT X” do servera preko kontrolne konekcije;
Server prima PORT komandu i zahteva podatke;
Klijent čeka za konekciju podataka na portu X i prihvata;
Server kreira konekciju podataka na port X na klijentovom kompjuteru
Server šalje zahtevanu datoteku preko konekcije podataka;
server zatvara konekciju podataka;
Algoritam slanja email-a u originalnoj paradigmi
Dato:
E-mail komunikacija od jednog korisnika do drugog.
Obezbediti:
Prenos poruke do određenog primaoca.
Metod:
Korisnik pokreće interfejs aplikaciju i generiše e-mail poruku za
korisnika [email protected];
E-mail interfejs program korisnika postavlja poruku u red za slanje;
Program za prenos poruke na korisnikovom kompjuteru proučava red
odlaznih poruka, i pronalazi poruku;
Program za prenos poruka otvara konekciju do destinacija.com;
Program za prenos poruka koristi SMTP za prenos poruke;
Program za prenos poruka zatvara konekciju;
Mail server na destinacija.com prima poruku i postavlja kopiju u
poštansko sanduče korisnika x;
Korisnik x na destinacija.com pokreće program interfejsa pošte, koji
prikazuje korisnikovo poštansko sanduče, uključujući novu poruku;
Jednostavni prtokol prenosa pošte (Simple Mail Transfer
Protocol-SMTP) je standardni protokol kog
program za prenos pošte koristi za prenos poruka
preko Interneta do servera.
SMTP:
Sledi paradigmu toka
Koristi tekstualne kontrolne poruke
Prenosi samo tekstualne poruke
Omogućava pošiljaocu da specifikuje imena
primaoca i proveri svako ime
Šalje jednu kopiju date poruke
Pristupni protokoli su:
POP3-Post Office Protocol version 3
IMAP-Internet Mail Access Protocol
Imaju sledeće karakteristike:
-
Obezbeđuju pristup korisnikovom poštanskom
sandučetu
Dozvoljavaju korisniku da pregleda hedere, prenosi,
briše, ili šalje individualne poruke
Klijent se pokreće na korisnikovom ličnom kompjuteru
Serveri se pokreću na kompjuteru koji skladišti
korisnikovo poštansko sanduče
Postoje dva značajna standarda predstavljanja
email-a:
-
-
RFC2822 Mail Message Format – poruka se
predstavlja kao tekstualna datoteka i sastoji se
od sekcije hedera (header), prazne linije, i tela
(body).
Multi-purpose Internet Mail Extensions
(MIME) – proširuje funkcionalnost email-a da
se omogući prenos netekstualnih podataka u
poruci.
DNS (Domain Name System) obezbeđuje servis koji mapira
ljudska simbolična imena u kompjuterske adrese.
Prevod imena domena u adresu se naziva rastavljanje imena (name
resolution), a za ime se kaže da je rastavljeno (resolved) u adresu.
Primeri najvažnijih domena i grupa kome je svaki dodeljen:
Ime domena
Dodeljeno
biz
Biznis
com
Komercijalne organizacije
edu
Obrazovne institucije
gov
Vladine institucije
info
Informacije
net
Glavni mrežni centri za podršku
org
Nekomercijalne organizacije
DNS ne može da čuva imena u alfabetima koji
nisu predstavljeni u ASCII.
IETF
je
izabrala
pristup
poznat
kao
Internacionalizovanje imena domena u aplikacijama
(Internationalizing Domain Names in Applications
– IDNA) za prilagođavanje međunarodnih
imena domena.
Umesto modifikovanja osnovnog DNS-a, IDNA
koristi ASCII za čuvanje svih imena.
Ako se pojavi ime domena koje sadrži neki neASCII karakter, IDNA prevodi to ime u niz
ASCII karaktera.
Tradicionalni aplikacioni protokoli upotrebljavaju fiksna
predstavljanja,
odnosno,
aplikacioni
protokol
specifikuje tačan set poruka koje klijent i server mogu
razmeniti kao i tačnu formu podataka koji prate
poruku.
Alternativa fiksnom predstavljanju je proširljivi sistem
koji omogućava pošiljaocu da specifikuje format
podataka.
Standard koji je široko prihvaćen je Extensible Markup
language – XML.
Za razliku od HTML, tagovi u XML nisu unapred
specifikovani
i
ne
odgovaraju
komandama
formatiranja.
XML opisuje strukturu podataka i obezbeđuje
imena za svako polje.
Primer XML-a
<ADDRESS>
<NAME>
<FIRST> John
</FIRST>
<LAST> Public </LAST>
</NAME>
<OFFICE> Room 320
</OFFICE>
<PHONE> 765-555-1234 </PHONE>
</ADDRESS>