# Архитектура клиент-сервер

> For AI agents: the complete glossary index is at [llms.txt](https://glossary.cncf.io/ru/llms.txt).
> Markdown versions of every glossary page are available by appending `index.md` to the page URL.

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

Этот подход отличается от автономных приложений (например, десктопных), которые выполняют всю работу в одном месте.
Например, текстовый процессор Microsoft Word может быть установлен на персональный компьютер и работать только на нем.

## Какую проблему решает 

Архитектура клиент-сервер решает серьезную проблему, с которой сталкиваются автономные приложения: регулярное обновление. 
Чтобы обновить автономное приложение, пользователям необходимо загрузить и установить последнюю версию. 
А теперь представьте, что для просмотра каталога товаров Amazon вам необходимо сначала загрузить его себе на компьютер!

## Как именно решает проблему

Когда логика приложения реализована на удаленном сервере или в сервисе, операторы могут обновлять ее, 
не меняя логику на стороне клиента. 
Поэтому обновления можно производить гораздо чаще.
Хранение данных на сервере позволяет различным клиентам видеть одни и те же данные и совместно их использовать.
Рассмотрим разницу между онлайновым текстовым процессором и традиционным офлайновым, который работает на локальном компьютере.
В первом случае ваши файлы находятся на стороне сервера и 
могут быть доступны другим пользователям, которые просто скачивают их с сервера.
Во втором случае (когда Интернет не был доступен повсеместно) файлы приходилось копировать 
на съемные носители (дискеты!) и передавать каждому пользователю по отдельности.

---

- Canonical URL: https://glossary.cncf.io/ru/client-server-architecture/
- Status: Completed
- Последнее изменение October 27, 2023: ` [ru] Localize client-server-architecture.md ` ([b3fe985](https://github.com/cncf/glossary/commit/b3fe9857bf8e5ab52f613fae37d3059b2121f5e4))
- Source: https://github.com/cncf/glossary/blob/main/content/ru/client-server-architecture.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
