В компьютерной науке клиент-сервер представляет собой модель архитектуры программного обеспечения, состоящую из двух частей, клиентских и серверных систем, обе из которых взаимодействуют по компьютерной сети или на одном компьютере. Клиент-серверное приложение представляет собой распределенную систему, состоящую как из клиентского, так и из серверного программного обеспечения. Клиентское серверное приложение обеспечивает лучший способ разделения рабочей нагрузки. Клиентский процесс всегда инициирует подключение к серверу, в то время как серверный процесс всегда ждет запросов от любого клиента.

Когда и процесс клиента, и процесс сервера запущены на одном компьютере, это называется одноместной установкой.

Другой тип сопутствующей архитектуры программного обеспечения известен как peer-to-peer, потому что каждый хост или экземпляр приложения может одновременно выступать и в качестве клиента, и в качестве сервера (в отличие от централизованных серверов модели клиент-сервер), и потому, что каждый из них имеет эквивалентные обязанности и статус. Пиринговые архитектуры часто сокращаются с помощью аббревиатуры P2P.

Взаимоотношения клиент-сервер описывают отношения между клиентом и тем, как он делает запрос на обслуживание сервера, и как сервер может принимать эти запросы, обрабатывать их и возвращать запрошенную информацию клиенту. Взаимодействие между клиентом и сервером часто описывается с помощью диаграмм последовательности. Диаграммы последовательностей стандартизированы на едином языке моделирования.

Сегодня широко используются как клиент-серверная, так и P2P-архитектуры.

Базовый тип клиент-серверной программной архитектуры использует только два типа хостов: клиенты и серверы. Этот тип архитектуры иногда называют двухуровневой. Двухуровневая архитектура означает, что клиент действует как один уровень, а серверный процесс - как другой уровень.

Архитектура клиент-серверного программного обеспечения стала одной из базовых моделей сетевых вычислений. Многие типы приложений были написаны с использованием клиент-серверной модели. Стандартные сетевые функции, такие как обмен электронной почтой, веб-доступ и доступ к базам данных, основаны на модели клиент-сервер. Например, веб-браузер - это клиентская программа на компьютере пользователя, которая может получать доступ к информации на любом веб-сервере в мире.