Obsah
Architektura Klient-Server
Klient-server je síťový model, ve kterém jsou jednotlivá zařízení v síti rozdělena do dvou jasně definovaných rolí. Komunikace obvykle probíhá stylem „dotaz–odpověď“ (request-response). Tento model umožňuje centrální správu dat a efektivní sdílení výpočetních zdrojů.
Hlavní role v systému
1. Klient (User-Side)
Klient je zařízení nebo aplikace, která iniciuje kontakt se serverem.
- Funkce: Odesílá požadavky, přijímá odpovědi a prezentuje data uživateli.
- Příklady: Webový prohlížeč (Chrome, Firefox), e-mailový klient (Outlook), mobilní aplikace.
2. Server (Service-Side)
Server je výkonný počítač nebo program, který neustále běží a čeká na příchozí požadavky.
- Funkce: Zpracovává požadavky, provádí výpočty, spravuje databáze a odesílá výsledky klientům.
- Vlastnost: Jeden server může obsluhovat stovky až miliony klientů současně.
Jak probíhá komunikace?
Celý proces lze rozdělit do čtyř základních kroků:
1. **Požadavek (Request):** Klient pošle přes síť zprávu serveru (např. "Chci zobrazit stránku google.com"). 2. **Zpracování:** Server přijme požadavek, ověří identitu klienta a vyhledá potřebná data. 3. **Odpověď (Response):** Server pošle data zpět klientovi (např. HTML kód stránky). 4. **Zobrazení:** Klient přijatá data interpretuje a zobrazí uživateli.
Typy Klient-Server architektur
Model se dělí podle toho, jak moc práce odvádí klient a jak moc server:
| Typ | Popis |
|---|---|
| Thin Client (Tenký klient) | Klient slouží jen pro zobrazení, téměř veškerý výpočet probíhá na serveru. |
| Thick Client (Tlustý klient) | Klient sám provádí většinu logiky a výpočtů, server používá jen pro ukládání dat. |
| 2-Tier (Dvouvrstvá) | Klient komunikuje přímo s databázovým serverem. |
| 3-Tier (Třívrstvá) | Mezi klienta a databázi je vložen aplikační server (nejčastější u webových aplikací). |
Výhody a nevýhody
Výhody:
- Centralizace: Data jsou na jednom místě, což usnadňuje zálohování a správu práv.
- Škálovatelnost: Výkon lze zvýšit upgradem serveru nebo přidáním dalších serverů.
- Bezpečnost: Server může kontrolovat přístup ke zdrojům.
Nevýhody:
- Single Point of Failure: Pokud selže server, celá síť (všichni klienti) přestane fungovat.
- Náklady: Výkonné servery a jejich správa jsou drahé.
- Zahlcení: Pokud se připojí příliš mnoho klientů naráz, server se může zpomalit nebo spadnout (DoS).
Srovnání: Klient-Server vs. Peer-to-Peer (P2P)
Zatímco klient-server má jasnou hierarchii, v modelu P2P jsou si všechna zařízení rovna a každé může být zároveň klientem i serverem (např. BitTorrent).
| Vlastnost | Klient-Server | Peer-to-Peer (P2P) |
| — | — | — |
| Správa | Centrální | Decentralizovaná |
| Závislost | Vysoká na serveru | Nízká (síť funguje i při výpadku uzlu) |
| Použití | Webové stránky, firemní sítě | Sdílení souborů, kryptoměny |
Související pojmy: Server, IP adresa, HTTP, P2P, DoS útok, Databáze, Cloud Computing.
