Termin klient/serwer został ukuty w latach 80. XX wieku, aby opisać model przetwarzania rozproszonego, w którym aplikacje klienckie żądają usług od procesów serwera. Klient/serwer to zasadniczo relacja między procesami działającymi na oddzielnych komputerach połączonych siecią komputerową. Proces serwerowy jest dostawcą usług, a klient procesowym konsumentem, więc istnieje wyraźne rozdzielenie funkcji, jeśli chodzi o sprzęt i oprogramowanie.
Sprzęt serwerowy
Komputer serwera w sieci klient/serwer można traktować zarówno jako sprzęt, jak i oprogramowanie. Jeśli chodzi o sprzęt, serwer dedykowany to zazwyczaj komputer osobisty lub stacja robocza. Jednak serwer może być wymagany do obsługi dziesiątek, a nawet setek klientów w tym samym czasie, więc zazwyczaj ma szybszy procesor, więcej pamięci i więcej przestrzeni dyskowej niż komputer kliencki.
Wideo dnia
Oprogramowanie serwerowe
Na serwerze działa specjalny system operacyjny, taki jak Microsoft Windows Server, Linux lub Unix, zaprojektowany specjalnie w celu ułatwienia współdzielenia jego zasobów. W zależności od dokładnej funkcji operacyjnej serwer może umożliwiać użytkownikom udostępnianie plików i drukarek w sieci oraz zapewniać dostęp do Internetu. Jeśli zasoby znajdują się na więcej niż jednym serwerze, poszczególne serwery mogą specjalizować się w jednym konkretnym zadaniu — lub zapewniać nadmiarowość lub powielanie funkcji — w przypadku awarii serwera.
Klient
Komputer kliencki to zazwyczaj zwykły komputer osobisty z systemem operacyjnym, takim jak Windows XP, Windows Vista lub Windows 7. System operacyjny zawiera oprogramowanie klienckie, takie jak poczta elektroniczna i przeglądanie Internetu oprogramowanie, które umożliwia komputerowi klienckiemu dostęp i interakcję z zasobami udostępnianymi przez serwer. Komputer kliencki komunikuje się tylko bezpośrednio z serwerami, a nie z innymi klientami. Jest jednak zdolny do samodzielnego przetwarzania informacji, co odróżnia go od głupiego terminala używanego w scentralizowanych systemach komputerowych typu mainframe.
Grubi i szczupli klienci
Komputery klienckie można opisać jako „grube” lub „cienkie”, w zależności od miejsca wykonywania i logiki biznesowej aplikacji. Gruby klient ma możliwość kontrolowania danych. Wykonanie odbywa się głównie na kliencie, natomiast serwer odpowiada za wysyłanie danych do klienta iz powrotem. Z drugiej strony cienki klient jest ograniczony do tak zwanej warstwy prezentacji oprogramowania aplikacja, która przyjmuje dane z serwera i edytuje je, podczas gdy większość wykonania odbywa się na serwer.