1 Arhitectura client-server
În primele zile ale Internetului, arhitectura client-server a devenit larg răspândită, deși au existat altele. Semnificația sa constă în faptul că toți participanții la rețea sunt împărțiți în două părți logice: client și server.
Sarcina serverului (server, from serve - to serve) este de a servi cererile clientului. Serverul face cea mai mare parte a muncii, stochează toate datele necesare și le monitorizează integritatea. Și, deși există computere care apelează la servere, de obicei termenii „client” și „server” înseamnă software.
Sarcina clientului este să trăiască în propria lui plăcere. Când clientul are nevoie de unele date de la server, îi trimite o solicitare. După ceva timp, el primește un răspuns de la server și poate face ceva important cu datele primite.
Solicitările sunt întotdeauna inițiate de client. Modul de comunicare are loc întotdeauna sub forma unei cereri-răspuns. Într-un fel, acesta este un sinonim pentru conceptul de „client-server” .
Și care sunt alternativele? Ei bine, în primul rând, rețelele peer-to-peer, în care toți participanții sunt egali (se mai numesc și rețele peer-to-peer). Dacă tu și prietenul tău discutați sau trimiteți mesaje, atunci acesta este doar un exemplu de rețea peer-to-peer. Care este diferența?
Puteți scrie un mesaj și nu primiți niciun răspuns, apoi trimiteți unul nou și așa mai departe. Prietenul tău poate fi inițiatorul dialogului. Oricare dintre părți poate scrie mai întâi. Toate informațiile despre dialog sunt stocate de ambele părți, nimeni nu este obligat să răspundă.
Avantajele arhitecturii client-server:
Fiabilitate . Clienții pot fi oriunde, chiar și pe platforme nesigure. Windows de pe computer se poate bloca, iPhone-ul poate fi furat, iar datele stocate în cloud nu merg nicăieri.
Clienți slabi și ieftini . Dacă trebuie să faceți o editare video pe telefon, atunci o încărcați pe server și o efectuați pe facilitățile serverului. Clientul poate fi un instrument ieftin.
Sarcina echilibrata . Fiecare client are un program individual de utilizare, care poate fi foarte neregulat. Serverul primește solicitări de la mii de clienți, încărcarea sa este mediată și, prin urmare, mai bine previzibilă.
![Arhitectura client-server](https://cdn.codegym.cc/images/article/81d406ee-7c33-4d40-8d1e-b2574d12e217/512.jpeg)