Architektura klient-serwer

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest architektura klient-serwer?

Architektura klient-serwer to model budowy systemu informatycznego, w którym zadania są podzielone między dwa typy elementów: klienta i serwer.

  • Klient wysyła żądania, np. prośbę o pobranie strony, zapis danych lub zalogowanie użytkownika.
  • Serwer odbiera żądania, przetwarza je, korzysta z danych i odsyła odpowiedź.

Najważniejsza cecha tego modelu: dane i główna logika działania systemu zwykle znajdują się po stronie serwera, a klient korzysta z nich przez sieć.

Przykład działania

Typowy przykład to aplikacja internetowa:

  1. Użytkownik wpisuje adres strony w przeglądarce.
  2. Przeglądarka, czyli klient, wysyła żądanie do serwera.
  3. Serwer pobiera dane, wykonuje logikę aplikacji i generuje odpowiedź.
  4. Klient odbiera odpowiedź i wyświetla ją użytkownikowi.

Cechy architektury klient-serwer

  • komunikacja odbywa się zwykle w schemacie żądanie-odpowiedź,
  • serwer może obsługiwać wielu klientów jednocześnie,
  • dane są często centralnie przechowywane na serwerze,
  • klient nie musi znać szczegółów działania serwera,
  • łatwiej kontrolować bezpieczeństwo i dostęp do danych.

Czego nie mylić?

Architektura klient-serwer nie oznacza komunikacji bezpośrednio między klientami. Taki model bardziej przypomina sieć peer-to-peer. Serwer nie jest też pasywnym odbiorcą danych — aktywnie przetwarza żądania i odsyła odpowiedzi.