Архитектура клиент-сервер
В клиент-серверной архитектуре логика (или код), составляющая приложение, распределяется между двумя или более компонентами: клиентом, запрашивающим выполнение некой работы (например, веб-приложение Gmail, работающее в браузере), и одним или несколькими серверами, удовлетворяющими этот запрос (например, сервис отправки почты, работающий на компьютерах Google в облаке). В этом примере исходящие письма отправляются клиентом (веб-приложением, работающим в браузере) на сервер (компьютеры Gmail, которые пересылают их получателям).
Этот подход отличается от автономных приложений (например, десктопных), которые выполняют всю работу в одном месте. Например, текстовый процессор Microsoft Word может быть установлен на персональный компьютер и работать только на нем.
Какую проблему решает
Архитектура клиент-сервер решает серьезную проблему, с которой сталкиваются автономные приложения: регулярное обновление. Чтобы обновить автономное приложение, пользователям необходимо загрузить и установить последнюю версию. А теперь представьте, что для просмотра каталога товаров Amazon вам необходимо сначала загрузить его себе на компьютер!
Как именно решает проблему
Когда логика приложения реализована на удаленном сервере или в сервисе, операторы могут обновлять ее, не меняя логику на стороне клиента. Поэтому обновления можно производить гораздо чаще. Хранение данных на сервере позволяет различным клиентам видеть одни и те же данные и совместно их использовать. Рассмотрим разницу между онлайновым текстовым процессором и традиционным офлайновым, который работает на локальном компьютере. В первом случае ваши файлы находятся на стороне сервера и могут быть доступны другим пользователям, которые просто скачивают их с сервера. Во втором случае (когда Интернет не был доступен повсеместно) файлы приходилось копировать на съемные носители (дискеты!) и передавать каждому пользователю по отдельности.
Обратная связь
Полезна ли эта страница?
Thank you! Please let us know if you have any suggestions.
Thanks for your feedback. Please tell us how we can improve.