В модели типа «клиент-сервер» устройство, запрашивающее информацию, называется клиентом, а устройство, которое отвечает на данный запрос, — сервером. Считается, что процессы модели типа «клиент-сервер» происходят на уровне приложений. Клиент начинает обмен данными, отправляя запрос на получение данных с сервера, который в ответ отправляет один или несколько потоков данных клиенту. Протоколы уровня приложений описывают формат запросов и ответов между клиентами и серверами. В дополнение к фактической передаче данных для этого обмена данными также может потребоваться аутентификация пользователей и идентификация передаваемых файлов данных.
Одним из примеров сети типа «клиент-сервер» является использование сервиса электронной почты для отправки, получения и хранения сообщений электронной почты. Почтовый клиент на домашнем компьютере отправляет запрос серверу электронной почты на получение списка новых сообщений. Сервер отвечает, отправляя запрошенное сообщение клиенту.
Хотя данные обычно описываются как идущие с сервера на клиент, некоторые данные всегда представляют собой потоки данных, идущие от клиента к серверу. Поток данных может быть равным в обоих направлениях или быть больше в направлении от клиента к серверу. Например, клиент может передавать файл на сервер для хранения. Как показано на рисунке, передача данных от клиента к серверу называется отправкой, а в направлении от сервера к клиенту — загрузкой.