Клиент серверная архитектура по-простому
Вы когда-нибудь задумывались, что происходит, когда отправляете сообщение в мессенджере, листаете ленту с социальной сети или ищите видео на Youtube?
‼️За всем этим стоит важная концепция мира ИТ - клиент-серверная архитектура.
Предлагаю разобраться, что это такое и как устроено.
На самом высоком уровне абстракции у нас есть два понятия:
Клиент - это вы и ваше устройство. Сервер - это мощный компьютер, который находится где-то далеко, производит какие-то вычисления, хранит и обрабатывает данные
📎Представьте ситуацию - вы пришли в ресторан пообедать.
Так вот, в таком случае: ▪️Клиент - вы, сидящий за столиком с меню ▪️Сервер - кухня, на которой готовится еда ▪️Посредник между клиентом и сервером - официант, он передает ваш заказ на кухню ▪️Интернет - пространство, в котором официант перемещается по пути на кухню ▪️Запрос на сервер - ваш заказ, например, "приготовить стейк" ▪️Ответ сервера - готовый стейк, который вам принесет официант
Соответственно, вы, как "клиент" не ходите самостоятельно на кухню, чтобы там приготовить выбранное блюдо, а делаете заказ через официанта, то есть отправляете запрос на кухню. Вам потом просто приносят готовый заказ - ответ на ваш запрос.
❓Как это устроено в мире ИТ технологий?
📱Клиент - например, приложение в вашем телефоне: мессенджер, браузер, игра, приложение для соц. сети.
➡️Задача такого приложения показывать вам красивый, удобный интерфейс и давать возможность нажимать кнопки, прокручивать ленту, отправлять сообщения.
Иными словами
- клиент в вашем телефоне отображает какую-то информацию с сервера, а также позволяет эти данные редактировать или добавлять новые. Все перечисленные действия являются по сути запросами на серверное приложение (помните официанта, который передает заказ на кухню?)
Пример:
- когда вы нажимаете "Отправить сообщение" в мессенджере, клиентской приложение формирует запрос "Пользователь Х хочет отправить сообщение Y пользователю Z" - и оно в итоге будет отправлено на сервер.
💻Сервер - скрытая часть, клиент-серверной архитектуры.
Это один или больше мощных компьютеров, находящихся где-то в сети Интернет.
➡️Задача сервера:
- Принять запрос от клиента
- Обработать его (найти данные в базе, сохранить сообщение, проверить логин/пароль)
- Отправить результат клиенту
Пример:
- сервер получает запрос на отправку сообщения, сохраняет его в своей базе данных и пересылает клиенту пользователя Z, а пользователя X уведомляет об успехе отправки.
Части современных клиент-серверных приложений взаимодействуют через Интернет, отправляя постоянно друг другу "письма" - запросы и ответы.
Наверное, если совсем упростить, то можно сказать так:
- клиент - ничего не знает и не хранит, а только отображает или просит что-то сделать;
- сервер - много всего знает и хранит, чтобы постоянно обрабатывать просьбы клиента, при этом находится где-то далеко от клиента;
- Интернет - логистические пути коммуникации клиента с сервером
Мне кажется, круто, понимать хотя бы базово такие вещи, ведь они фундамент современного Интернета и того, чем мы пользуемся каждый день!
Ставь реакцию, если понравилась статья 😉
· 27.11.2025
на уровне сервера есть ещё несколько соединений использующих любую архитектуру для целей обработки информации методами не включенными в перечень официальных
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён