Sunteți pe pagina 1din 17

Modelul client-server

Tehnologii WEB.
Lect. Univ. Dr. Ciprian Cucu
Cuprins:
● Introducere
● Clientul
● Serverul
● Modelul client-server
● Modelul peer-to-peer
● URI, URN, URL
● Protocoale (http, https)
Introducere
● Web-ul este un serviciu internet, internet
ce permite sistemelor să facă
WEB @
schimb de date (imagini, video,
text etc) FTP
● Web-ul este bazat pe modelul în IM
torent
care unele sisteme fac cereri (de
resurse), şi altele răspund acestori jocuri

cereri
Clienti
● Sisteme de calcul
○ PC, laptop, tabletă, smartphone etc
● Aplicaţii
○ Browser
○ Word? Photoshop?
○ Jocuri online
○ Telnet (program în terminal)
○ E-mail client (outlook, thunderbird)
○ Ftp client (fileZilla)
Servere
● Software!
● Răspunde la cereri din partea clienţilor
● Un server >>> mai mulţi clienţi
● Se pot configura mai multe servere (virtuale) pe un singur sistem
● Tipuri
○ Web server (Apache, IIS, lighttpd, nginx)
○ Mail server (sendmail, qmail, Zimbra)
○ Application server (Tomcat, Zend…)
○ DB server (Oracle, MySql, PostGreSql)
Client - server / Peer-to-peer
● Client-server
○ Arhitectură web care împarte sistemele în “clienţi” care solicită
resurse/servicii şi “servere” care răspund cererilor
○ Model centralizat
● Peer-to-peer
○ Nu există distincţie între sisteme, oricare poate fi furnizor sau solicitant
de informaţii / resurse
○ Descentralizat
○ bitTorrent, IM (skype, hangouts)
URI, URN, URL
● Standard pentru a referi o resursă - pagină
html, fişier pdf etc URI
● URI: uniform resource indentifier
○ Specificaţie generică de a referi o resursă
○ Nu precizează protocolul folosit, calea
○ Implementarea ia forma URN sau URL
URN URL
● URN: uniform resource name
● URL: uniform resource locator
URL
http://www.site.com:80/products/product.html#descrie

protocol domeniu Port cale Ancoră


(optional) (optional)

http://www.site.com:80/product.php?id=1&l=ro

Query
Port(uri)

● Construct
software
● Connection
point
● 80 e implicit
Protocoale (1)
● Un protocol este o descriere formală a regulilor și convențiilor care stau la
baza comunicării între două dispozitive.
● Protocolul determină inițierea și finalizarea sesiunii pentru transfer de date,
formatul sau structura mesajului, ordinea pachetelor de dat, controlul
erorilor, etc.
● Internetul se bazează pe suita de protocoale (protocol stack) TCP/IP
Suita TCP/iP

Exemplificare: transmiterea unui mesaj


între două sisteme

1. Pachetele pornesc din application layer (de la o aplicație)


2. În TCP, fiecare pachet primește un nr de port (care diferențiază aplicația destinație)
3. În iP se atașează adresa destinație (5.6.7.8)
4. Layerul fizic trimite fiecare pachet convertit în semnale electronice
5. La destinație, hardwareul reface pachetele
6. Apoi iP elimină informațiile de transfer (adrese)
7. TCP elimină informațiile de port și le trimite aplicației destinație
Protocolul HTTP (1)
● Protocol la nivel de aplicație, folosește în principal portul 80
● Conectionless & stateless: clientul și serverul stabilesc conexiunea, trimit cerere /
răspuns și închid conexiunea
● Independent de tipul datelor: orice tip de date pot fi trimise (se specifică tipul la
transmisie)
● Comunicarea se realizează prin perechi request - response
Protocolul HTTP (2)
● Cererea cuprinde o metodă, un URi (identificator de resursă), un antet și
eventual un mesaj (un conținut)
○ Metode HTTP: get, post, put, delete
● Exemple:
Protocolul HTTP (3)
Răspunsul serverului include
● O linie de stare (status) ce cuprinde versiunea de HTTP, codul de răspuns al serverului
și explicația acestuia
● Coduri de răspuns (și explicații):
○ Categoria 2xx (succes): 200 OK, 204 No Content, 206 Partial content
○ Categoria 3xx (redirect): 301 Moved Permanently, 304 Not Modified
○ Categoria 4xx (eroare client): 400 Bad request, 401 Unauthorized, 404 Not found etc
○ Categoria 5xx (eroare server): 500 Internal server error, 503 service unavailable
Protocolul HTTP (4)
Exemple de răspuns
HTTPS
● HTTPS = HTTP + SSL/TLS
○ Datele trimise între client şi server sunt criptate
○ SSL/TLS:Secure Socket Layer/Transport Layer Security
○ Sistem PKI (Public Key Infrastructure) asimetric - cheie publică şi cheie
privată

○ Portul 443
Întrebari?
Sugestii?
Comentarii?

S-ar putea să vă placă și