Klient-server označuje vztah mezi spolupracujícími programy v aplikaci, skládající se z klientů iniciujících požadavky na služby a serverů poskytujících tuto funkci nebo službu.
Nejčastější dotazy
Model klient-server neboli architektura klient-server je distribuovaný aplikační rámec rozdělující úlohy mezi servery a klienty, kteří jsou buď umístěni ve stejném systému, nebo komunikovat prostřednictvím počítačové sítě nebo internetu. Klient se spoléhá na odeslání požadavku jinému programu, aby získal přístup ke službě zpřístupněné serverem. Na serveru běží jeden nebo více programů, které sdílejí prostředky s klienty a rozdělují práci mezi klienty.
Vztah klient-server komunikuje ve vzoru zpráv požadavek–odpověď a musí dodržovat společný komunikační protokol, který formálně definuje pravidla, jazyk a vzory dialogů, které se mají použít. Komunikace klient-server se obvykle řídí sadou protokolů TCP/IP.
Protokol TCP udržuje spojení, dokud klient a server nedokončí výměnu zpráv. Protokol TCP určuje nejlepší způsob distribuce aplikačních dat do paketů, které mohou sítě doručit, přenáší pakety do sítě a přijímá je ze sítě a spravuje řízení toku a opětovné vysílání zahozených nebo zkomolených paketů. IP je protokol bez spojení, ve kterém je každý paket procházející internetem nezávislá jednotka dat, která nesouvisí s žádnými jinými datovými jednotkami.
Požadavky klientů jsou organizovány a upřednostňovány v plánovacím systému, který serverům pomáhá vyrovnat se s případem příjmu požadavků od mnoha různých klientů v krátkém čase. Přístup klient-server umožňuje jakémukoli univerzálnímu počítači rozšířit své schopnosti využitím sdílených zdrojů jiných hostitelů. Mezi oblíbené aplikace typu klient-server patří e-mail, World Wide Web a síťový tisk.
Existují čtyři hlavní kategorie klient-server computing:
Jednovrstvá architektura: sestává z jednoduchého programu běžícího na jednom počítači bez nutnosti přístupu k síti. Požadavky uživatelů nespravují žádné síťové protokoly, proto je kód jednoduchý a síť je zbavena nadbytečného provozu. Dvouvrstvá architektura: skládá se z klienta, serveru a protokolu, který propojuje dvě vrstvy. Kód grafického uživatelského rozhraní je umístěn na hostiteli klienta a logika domény je umístěna na hostiteli serveru. GUI klient-server je napsáno v jazycích vysoké úrovně, jako je C++ a Java. Třívrstvá architektura: skládá se z prezentační vrstvy, což je vrstva uživatelského rozhraní, aplikační vrstvy, což je vrstva služeb, která provádí podrobné zpracování, a datové vrstvy, která se skládá z databázového serveru, který ukládá informace. architektura: rozděluje aplikaci na logické vrstvy, které oddělují odpovědnosti a spravují závislosti, a fyzické vrstvy, které běží na samostatných počítačích, zlepšují škálovatelnost a přidávají latenci z další síťové komunikace. Architektura N-Tier může být uzavřená vrstva, ve které může vrstva komunikovat pouze s další vrstvou dolů, nebo otevřená vrstva, ve které může vrstva komunikovat s jakoukoli vrstvou pod ní.Microsoft MySQL Server je oblíbeným příkladem třívrstvé architektury sestávající ze tří hlavních komponent: protokolová vrstva, relační stroj a úložný stroj. Všechny klientské počítače, které se připojují přímo k serveru SQL Server, musí mít nainstalovaného klienta SQL Server. Microsoft Client-Server Runtime Process pomáhá spravovat většinu sad grafických instrukcí v operačním systému Windows.
Síť klient-server je médium, jehož prostřednictvím klienti přistupují ke zdrojům a službám z centrálního počítače, a to buď prostřednictvím místní sítě (LAN) nebo široké -area network (WAN), jako je internet. Jedinečný server nazývaný démon může být použit pouze za účelem čekání na požadavky klienta, v tomto okamžiku je iniciováno síťové připojení, dokud není požadavek klienta splněn.
Síťový provoz je kategorizován jako klient-server (provoz ze severu na jih) nebo ze serveru na server (provoz z východu na západ). Mezi oblíbené síťové služby patří e-mail, sdílení souborů, tisk a World Wide Web. Velkou výhodou sítě klient-server je centrální správa aplikací a dat.
Model architektury klient-server má řadu výhod:
Jediný server hostující všechna požadovaná data na jednom místě usnadňuje ochranu dat a správu autorizace a autentizace uživatelů. Zdroje, jako jsou síťové segmenty, servery a počítače, mohou být přidány do sítě klient-server bez jakýchkoli významných přerušení. K datům lze přistupovat efektivně, aniž by bylo nutné, aby klienti a server byli v těsné blízkosti. Všechny uzly v systému klient-server jsou nezávislé a požadují data pouze ze serveru, což usnadňuje snadné upgrady, výměny a přemístění uzlů. Data přenášená prostřednictvím protokolů klient-server jsou nezávislá na platformě.
Klienti, známí také jako žadatelé o služby, jsou části počítačového hardwaru nebo serverového softwaru, které požadují prostředky a služby zpřístupněné serverem. Klientské výpočty jsou klasifikovány jako Thick, Thin nebo Hybrid.
Tlustý klient: klient, který poskytuje bohaté funkce, většinu zpracování dat provádí sám a velmi málo se spoléhá na server. Tenký klient: server tenkého klienta je lehký počítač, který je do značné míry závislý na zdrojích hostitelského počítače -- aplikační server provádí většinu všech požadovaných zpracování dat.Hybridní klient: hybridní klient má kombinaci vlastností tenkého a tlustého klienta a spoléhá na server, že uchovává trvalá data, ale je schopen místního zpracování.Server je zařízení nebo počítačový program, který poskytuje funkce pro jiná zařízení nebo programy. Jakýkoli počítačový proces, který může klient použít nebo vyvolat ke sdílení zdrojů a distribuci práce, je server. Mezi běžné příklady serverů patří:
Aplikační server: hostuje webové aplikace, které mohou uživatelé v síti používat, aniž by potřebovali vlastní kopii.Výpočetní server: sdílí obrovské množství počítačových zdrojů s počítači v síti, které vyžadují více výkonu CPU a paměti RAM, než je obvykle dostupné pro osobní počítač.Databázový server : udržuje a sdílí databáze pro jakýkoli počítačový program, který zpracovává dobře organizovaná data, jako je účetní software a tabulky.Webový server: hostuje webové stránky a usnadňuje existenci World Wide Web.
Programování na straně serveru označuje program, který běží na serveru a zaměřuje se na generování dynamického obsahu. Programování na straně serveru se používá pro dotazování a interakci s databází, přístup k souborům na serveru, interakci s jinými servery, zpracování uživatelského vstupu a strukturování webových aplikací. Mezi oblíbené programovací jazyky pro programování na straně serveru patří C++, Java a JSP, PHP, Python a Ruby on Rails.
Programování na straně klienta označuje program, který běží na klientském počítači a zaměřuje se na uživatelské rozhraní a další procesy, jako je čtení a/nebo zápis souborů cookie. Programování na straně klienta se používá pro odesílání požadavků na server, interakci s místním úložištěm, interakci s dočasným úložištěm, vytváření interaktivních webových stránek a funguje jako rozhraní mezi klientem a serverem. Mezi oblíbené programovací jazyky pro programování klient-server patří AJAX, CSS, HTML, Javascript a VBScript.
Vykreslování na straně serveru označuje schopnost aplikace převést soubory HTML na serveru na plně vykreslenou stránku pro klienta. Webový prohlížeč odešle požadavek na informace ze serveru, který odpoví, obvykle v milisekundách, plně vykresleným zobrazením HTML. Vyhledávače jsou schopny indexovat a procházet obsah před jeho doručením, takže vykreslování na straně serveru je pro SEO velmi výhodné.
Při vykreslování klient-server se obsah namísto přijímání veškerého obsahu z dokumentu HTML vykresluje v prohlížeči pomocí knihovny JavaScript na straně klienta. Prohlížeč nevytváří nový požadavek na server při načtení nové stránky. Hodnocení ve vyhledávačích může být negativně ovlivněno, protože obsah se nevykreslí, dokud se stránka nenačte v prohlížeči, vykreslování webových stránek však bývá rychlejší při vykreslování na straně klienta.
Peer-to-peer (P2P) je decentralizovaný komunikační model, ve kterém mají všechny uzly v síti ekvivalentní schopnosti a mohou fungovat jako klient i server. Uzly v peer-to-peer computingu kolektivně využívají své zdroje a komunikují spolu přímo na vyžádání.
Algoritmus v komunikačním protokolu peer-to-peer vyrovnává zatížení, zpřístupňuje ostatní partnery, aby kompenzovaly výpadky zdrojů, a přesměrovává požadavky podle toho, jak se kapacita zatížení a dostupnost peerů mění. Hlavní výhodou sítí peer-to-peer je možnost rozšířit síť pro správu velkého počtu klientů.
Ve výpočetním systému klient-server, centralizovaném komunikačním modelu, je server centrálním uzlem, který komunikuje s ostatními klientskými uzly. Hlavní výhodou, kterou má vztah klient-server oproti vztahu peer-to-peer, je schopnost spravovat data a aplikace na jednom centralizovaném serveru.
OmniSci Render využívá GPU na straně serveru k okamžitému vykreslování interaktivních vizualizací dat s vysokou mohutností. Díky využití technologie vykreslování na straně serveru může OmniSci importovat a zobrazovat miliony řádků dat přes síť klientovi bez jakéhokoli zpomalení spojeného s přenosem dat s vysokou mohutností. To odlišuje OmniSci od jiných technologií, které přenášejí výsledky klientovi k vykreslení, což zpomaluje celkový výkon.
PREV: apache2 - Virtuální hostitelé Apache https fungují, ale http trvá...
NEXT: [HowTo] VirtualBox - instalace, USB, sdílené složky ...