Архитектура клиент-сервер
Архитектура клиент-сервер - это архитектура распределённой вычислительной или сетевой системы, в которой программные процессы разделены на клиентов, запрашивающих ресурсы или услуги, и серверы, принимающие запросы, обрабатывающие их и возвращающие результат.
Что означает термин
Клиентом может быть приложение или устройство, например веб-браузер или мобильное приложение. Сервером выступает компьютерная система, которая принимает запросы, выполняет обработку, хранит данные или предоставляет доступ к ресурсам.
Роли в такой системе распределены несимметрично: клиент инициирует обращение за информацией или услугой, а сервер отвечает на запрос. Клиентские и серверные процессы обычно работают на разных устройствах и взаимодействуют по сети с использованием сетевых протоколов, но могут находиться и на одном устройстве.
Как устроено
В двухуровневом варианте функции распределяются между клиентом и сервером. В трёхуровневой и других многоуровневых разновидностях обработка разделяется между несколькими серверными уровнями: отдельно могут выполняться представление данных, прикладная обработка и хранение информации.
Веб-браузер может запрашивать страницу у веб-сервера, а мобильное приложение - передавать серверу данные для авторизации и получать результат проверки. Доступность клиентских операций зависит от серверной стороны: при недоступности сервера клиенты могут потерять доступ к ресурсам или не смогут выполнить необходимые действия.
Где применяется
Архитектура клиент-сервер используется в веб-сайтах, интернет-приложениях, социальных сетях и мобильных приложениях. Её также применяют некоторые устройства Интернета вещей.
Отличие от близких понятий
В архитектуре клиент-сервер узлы выполняют разные роли: клиент запрашивает ресурсы или услуги, а сервер их предоставляет и обрабатывает запросы. В одноранговой архитектуре узлы взаимодействуют напрямую и могут одновременно получать и предоставлять ресурсы.
База знаний организована при поддержке делового сообщества. Спираль?!

