W modelu klient-serwer urządzenie żądające informacji nazywane jest klientem, natomiast urządzenie odpowiadające na żądanie - serwerem. Procesy komunikacji klienta i serwera zaliczane są do zadań warstwy aplikacji. Klient rozpoczyna wymianę danych wysyłając żądanie do serwera, który odpowiada poprzez wysłanie jednego lub więcej strumieni danych do klienta. Protokoły warstwy aplikacji opisują format żądań i odpowiedzi pomiędzy klientami i serwerami. Oprócz rzeczywistego przesyłania, wymiana danych może również wymagać uwierzytelnienia użytkownika i identyfikacji plików danych, które mają być przesłane.

Jednym z przykładów sieci typu klient-serwer jest korzystanie z usługi e-mail dostawcy usługi Internetu (ISP) do wysyłania, odbierania i przechowywania wiadomości e-mail. Klient poczty elektronicznej, zainstalowany na komputerze domowym, wysyła żądanie do serwera poczty elektronicznej dostawcy usługi w celu sprawdzenia, czy na serwerze są nowe wiadomości. Serwer odpowiada wysyłając żądany e-mail do klienta.

Chociaż dane są zwykle opisywane jako przepływ informacji z serwera do klienta, to pewne dane przesyłane są również z klienta do serwera. Ilość przesyłanych danych może być równa w obu kierunkach, ale może być też większy w kierunku od klienta do serwera. Na przykład klient może przesyłać pliki do serwera w celu ich zmagazynowania. Przesyłanie danych z klienta do serwera nazywane jest wysyłaniem (ang. upload), natomiast z serwera do klienta pobieraniem (ang. download).