Клиент-серверная архитектура приложения -- что это

Клиент-серверная архитектура -- это такая архитектура (способ организации структуры web-приложения), в которой задачи, поставленные перед системой условно делятся между двуми подсистемами:

  1. Клиентом
  2. и Сервером

Часто такие приложения называют web-приложениями.

При этом важно понимать, что:

  • Сервер -- является "центральной" частью, часто хранит данные и к нему обращаются множество клиентов. Можно сказать (с натяжкой или нет), что "сервер может жить без клиентов, а вот клиенты без сервера не могут".
  • Клиент -- программа, экземпляров которой обычно "больше", чем серверов. Например, к одному веб-серверу (хранящему сайт) может подключаться большое число веб-браузеров. Обычно именно с программой-клиентом работают пользователи (поэтому её так и называют), с другой стороны клиентом сервера может являться и робот.
  • В очень нагруженных приложениях серверов тоже может быть очень много (но это значит часто всё равно значит, что клиентов в разы больше)