Что такое клиент-серверная модель
Что такое клиент-серверная модель
Введение
Когда ты открываешь браузер и заходишь на сайт, происходит кое-что интересное: твой компьютер просит другой компьютер где-то в интернете прислать страницу. Это и есть клиент-серверная модель в действии — основа современного веба.
Понимание этой модели критически важно для тестировщика: именно здесь рождаются большинство дефектов, которые ты будешь искать.
Два главных участника
Клиент
Клиент — тот, кто отправляет запрос. Клиентом может быть:
- Браузер (Chrome, Firefox, Safari)
- Мобильное приложение (iOS/Android)
- Десктопное приложение
- Другой сервис или скрипт (автотест, curl)
Главная задача клиента — запросить что-то у сервера и показать результат пользователю.
Сервер
Сервер — тот, кто получает запросы, обрабатывает их и возвращает ответ. Сервером может быть:
- Веб-сервер (Nginx, Apache)
- Сервер приложений (Node.js, Python, Java)
- API-сервер (микросервис)
Главная задача сервера — принять запрос, что-то сделать (посчитать, найти в базе) и вернуть результат.
Цикл запрос-ответ

Взаимодействие всегда происходит по одной схеме:
1. Клиент отправляет запрос → "Дай мне список товаров"
2. Запрос идёт через интернет
3. Сервер получает запрос и обрабатывает его
4. Сервер обращается к базе данных (если нужно)
5. Сервер отправляет ответ → [{"id":1,"name":"Ноутбук"}, ...]
6. Клиент получает ответ и отображает данные пользователю
Важно: клиент всегда инициирует общение. Сервер не может "сам позвонить" клиенту (в обычном HTTP — об исключениях поговорим позже).
Простая схема
Браузер → Интернет → Сервер → База данных
← ← ←
Каждая стрелка влево — это ответ, который возвращается обратно по цепочке.
Почему эта модель доминирует
- Один сервер — много клиентов: сайтом могут пользоваться миллионы людей одновременно
- Разделение ответственности: клиент отвечает за отображение, сервер — за логику и данные
- Обновление без переустановки: обновили сервер — все клиенты сразу получают новую версию
- Безопасность: секретные данные (пароли, ключи) хранятся на сервере, не у клиента
Типичные ошибки в понимании
- "Сервер — это мощный компьютер в дата-центре" — сервером может быть и обычный ноутбук с запущенным Node.js
- "Клиент — это только браузер" — мобильное приложение тоже клиент, и Postman тоже клиент
- "Запрос всегда быстрый" — нет, сеть может быть медленной, сервер может быть перегружен
Что мы запомним
- Клиент отправляет запросы, сервер их обрабатывает и отвечает
- Цикл: запрос → обработка → ответ
- Клиентом может быть браузер, мобильное приложение или любой другой инструмент
- Клиент всегда инициирует общение (в обычном HTTP)
- Эта модель позволяет одному серверу обслуживать множество клиентов