1 Klient-server-arkitektur
Under Internets tidiga dagar blev klient-serverarkitekturen utbredd, även om det fanns andra. Dess innebörd ligger i det faktum att alla nätverksdeltagare är uppdelade i två logiska delar: klient och server.
Serverns (server, från serve - to serve) uppgift är att betjäna klientförfrågningar. Servern gör det mesta av arbetet, lagrar all nödvändig data och övervakar deras integritet. Och även om det finns datorer som anropar servrar, betyder termerna "klient" och "server" vanligtvis programvara.
Klientens uppgift är att leva i sitt eget nöje. När klienten behöver lite data från servern skickar den en begäran till den. Efter en tid får han ett svar från servern och kan göra något viktigt med mottagna data.
Förfrågningar initieras alltid av kunden. Kommunikationsläget sker alltid i form av ett begäran-svar. På sätt och vis är detta en synonym för begreppet "klient-server" .
Och vilka är alternativen? Jo, för det första peer-to-peer-nätverk, där alla deltagare är lika (de kallas också peer-to-peer-nätverk). Om du och din vän chattar eller sms:ar så är detta bara ett exempel på ett peer-to-peer-nätverk. Vad är skillnaden?
Du kan skriva ett meddelande och inte få något svar, och sedan skicka ett nytt, och så vidare. Din vän kan vara initiativtagare till dialogen. Båda parterna får skriva först. All information om dialogen lagras av båda parter, ingen är skyldig att svara.
Fördelar med klient-server-arkitektur:
Tillförlitlighet . Kunder kan vara var som helst, även på opålitliga plattformar. Windows på din dator kan krascha, din iPhone kan bli stulen och data som lagras i molnet kommer ingenstans.
Svaga och billiga kunder . Om du behöver göra en videoredigering på din telefon, laddar du upp den till servern och utför den på serverfaciliteterna. Kunden kan vara ett billigt verktyg.
Balanserad belastning . Varje klient har ett individuellt användningsschema, vilket kan vara mycket oregelbundet. Servern tar emot förfrågningar från tusentals klienter, dess belastning är genomsnittlig och därför bättre förutsägbar.
![Klient-server-arkitektur](https://cdn.codegym.cc/images/article/81d406ee-7c33-4d40-8d1e-b2574d12e217/512.jpeg)