Architektura klient-serwer to sposób organizacji systemu informatycznego, w którym zasoby i obowiązki są podzielone między serwer (usługodawcę) a klienta (użytkownika). Serwer jest odpowiedzialny za udostępnianie zasobów, takich jak pliki, drukarki czy bazy danych, natomiast klient korzysta z tych zasobów poprzez zapytania do serwera.
W architekturze klient-serwer, klienty są urządzeniami lub programami, które przesyłają żądania do serwera w celu uzyskania danych lub usługi. Serwer z kolei odbiera te żądania, przetwarza je i wysyła odpowiedź do klienta. Komunikacja między klientem a serwerem odbywa się za pośrednictwem sieci komputerowej, najczęściej poprzez protokoły komunikacyjne takie jak HTTP, FTP czy SMTP.
Przykładem architektury klient-serwer może być serwis internetowy, na którym użytkownik (klient) otwiera przeglądarkę i wysyła żądanie do serwera, aby wyświetlić określoną stronę internetową. Serwer odpowiada na to żądanie, przetwarza je, a następnie przesyła odpowiednią stronę zasobów do klienta, który ją widzi na swoim ekranie.
Architektura klient-serwer jest powszechnie stosowana w różnych systemach informatycznych, ponieważ umożliwia efektywne zarządzanie zasobami oraz zapewnia skalowalność i elastyczność systemu. Dzięki podziałowi obowiązków między serwer a klienta, możliwe jest również szybsze reagowanie na zmiany i rozwój systemu.