Что такое клиент-серверная модель

Что такое клиент-серверная модель

Введение

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

Понимание этой модели критически важно для тестировщика: именно здесь рождаются большинство дефектов, которые ты будешь искать.


Два главных участника

Клиент

Клиент — тот, кто отправляет запрос. Клиентом может быть:

  • Браузер (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)
  • Эта модель позволяет одному серверу обслуживать множество клиентов

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике