Поймите клиент-серверную архитектуру вашей сети

13

В интернете всё сводится к двум ролям. Серверы. Клиенты. Всё просто. Если вы предоставляете услугу, вы — сервер. Если вы пользуетесь услугой, вы — клиент.

Когда вы вводите «www.yahoo.com » в адресную строку браузера, вы не просто нажимаете на ссылку. Вы запрашиваете ресурсы у большого числа компьютеров, принадлежащих Yahoo. Этот кластер и есть сервер. Он выполняет основную работу. Он обслуживает запрос и отдаёт страницу.

Ваш ноутбук? Это клиент. Он инициирует соединение. Он потребляет данные. Ваш личный компьютер обычно не предоставляет услуги другим. Он не размещает публичные файлы или веб-страницы для случайных прохожих. Он просто ждёт, запрашивая данные.

«Клиент отправляет запрос конкретному программному серверу, работающему на серверном компьютере.»

Это различие важно, потому что большинство людей воспринимают свой компьютер просто как «компьютер». Но с точки зрения сети это машина пользователя, потребитель. Я — клиент.

Может ли одна машина выполнять обе роли? Да. Личные ноутбуки могут предоставлять локальные файловые ресурсы одновременно с просмотром веб-страниц. Однако для общего понимания следует рассматривать их как отдельные сущности. Одна предоставляет. Другая потребляет.

Несколько служб на одной машине

Серверные машины редко выполняют только одну задачу. Это многофункциональный инструмент.

Один и тот же физический компьютер может одновременно выполнять:
— функции веб-сервера (например, Apache или Nginx)
— функции почтового сервера (например, Postfix)
— функции FTP-сервера (например, VSFTPD)

Все эти программы работают бок о бок. Они разделяют аппаратные ресурсы. Но они не смешиваются.

Клиентское программное обеспечение точно знает, с кем общаться. Вы не можете отправлять электронную почту через интерфейс веб-браузера, если не используете программу веб-почты. Тем не менее, браузер является лишь интерфейсом для вашего почтового сервера.

Рассмотрите приложение Telnet. Ему всё равно на веб-сервер. Оно подключается к демону Telnet. Почтовые приложения обходят FTP-серверы. Они взаимодействуют с агентами передачи почты.

Это разделение ответственности важно. У клиента есть намерение. У сервера есть функция. Клиент говорит: «Мне нужна веб-страница». Сервер отвечает: «Вот HTML». Клиент говорит: «Отправь мне электронное письмо». Сервер отвечает: «Принято».

Это разговор. Когда один человек задаёт вопрос, другой отвечает. Конкретный порт или протокол определяет, какие разговоры происходят через какую виртуальную дверь в одном и том же доме.

Предыдущая статьяПочему Mac OS X работает на XNU: Разбор ядра
Следующая статьяУстановка Windows 11 Home: требования, настройки и практический обзор