KLIENT-SERVER
- je síťová architektura, která odděluje klienta a server, kteří spolu komunikují přes počítačovou síť. Klient-server aplikace obsahují jak klienta, tak i server. Opakem architektury klient-server je Peer-to-peer.
- obsahuje pouze dvě části: serverovou a klientskou. Tento typ architektury je někdy označován jako two-tier (dvouvrstvá). Umožňuje zařízením sdílet soubory, nebo nějaké jiné zdroje.
- popisuje vztah mezi dvěma počítačovými programy, v nichž první program, klient, žádá o služby jiný program zvaný server. Na tomto modelu je založen například přístup na E-mail, Web, přístup k databázi…
Například Webový prohlížeč, to je klientský program na uživatelském počítači, který může přistupovat k informacím na libovolném webovém serveru na světě. Chcete-li například ze svého počítače zkontrolovat zůstatek na Vašem bankovním účtu, Váš webový prohlížeč předá tento dotaz webovému serveru banky, tento server předá dotaz databázovému programu, který pošle dotaz databázovému serveru. Odtud je zůstatek vrácen zpět do banky databázovému programu, ten ji zase pošle zpět do Vašeho webového prohlížeče a ten výsledný zůstatek zobrazí.
Model klient/server se stal jedním z hlavních myšlenek síťové technologie. Tento model používá například většina obchodních či firemních aplikací, dále ho pak používají například i tyto internetové protokoly HTTP, SMTP, Telnet, DNS, apod.
Každá instance klienta může posílat žádost o data jednomu nebo více připojeným serverům. Na druhé straně, servery mohou akceptovat tyto žádosti, zpracovat je a vrátit klientovi požadovanou informaci. Tento koncept může být použit více různými způsoby, avšak základ zůstává v zásadě stejný.
Nejčastější klienti jsou dnes webové prohlížeče. Servery jsou většinou webové servery, databázové servery a e-mailové servery, mohou se sem počítat i herní servery.
|
Charakteristika klienta |
Charakteristika serveru |
|
Aktivní |
Pasivní |
|
Posílá žádosti serveru |
Naslouchá na síti a reaguje na žádosti připojených, autorizovaných klientů |
|
Čeká a dostává odpovědi |
Při přijetí požadavku jej obslouží |
|
- Obvykle je připojen k malému počtu serverů najednou |
Může vzdáleně instalovat/odinstalovat aplikace a přenášet data ke klientům |
|
Obvykle komunikuje přímo s koncovými |
|
|
uživateli, pomocí grafického uživatelského rozhraní |
|

Výhody
Ve většině případů architektura klient-server rozdělí jednotlivé úkoly a zodpovědnosti počítačového systému mezi několik počítačů které spolu komunikují pouze prostřednictvím sítě. Tím vzniká další výhoda této sítě, a to snadnější údržba. Například je možné nahradit, opravit, modernizovat, přemístit server, aniž by to klienti poznali, nebo tím byli nějak ovlivněni. Tato nezávislost na klientech se nazývá zapouzdření.
Všechny údaje jsou uloženy na serverech, které jsou mnohem bezpečnější než většina klientů. Servery mohou lépe kontrolovat přístup a zdroje, to zaručuje, že přistupovat a měnit data mohou pouze oprávněná klienti.
Vzhledem k tomu, že se data ukládají centralizovaně, aktualizování údajů je mnohem jednodušší než u P2P sítí. V P2P sítích je potřeba updatovat data na každé stanici zvlášť, což je pomalé a způsobuje množství chyb, protože mohou být tisíce nebo miliony klientů.
Mnoho klient-server aplikací, které jsou dnes k dispozici, jsou navrženy s ohledem na vyšší bezpečnost, uživatelskou přívětivost a snadné používání.
Nevýhody
Velkým problémem je přetěžování sítě. Vzhledem k tomu, že počet souběžných požadavků klientů na daný server se zvyšují, server se může snadno přetížit. Naproti tomu u P2P sítí se šířka pásma zvětšuje s množstvím klientů, protože každý klient tvoří uzel sítě.
Architektura klient-server není tak robustní jako sítě P2P. Pokud dojde k výpadku serveru, žádosti klientů nemohou být splněny. V P2P sítích jsou zdroje obvykle distribuovány mezi více uzlů. Dokonce i když více uzlů přeruší sdílení dat, mělo by být možné stáhnou data od zbývajících uzlů.