Web

Клиент-серверная архитектура: что это такое и для чего ее используют?

Lorem ipsum dolor

Клиент-серверная архитектура — это основа всего интернета. Примерно 92% всех интернет-ресурсов используют именно такой способ коммуникации. Парадоксально, но многие до сих пор не понимают, что такое технология клиент-сервер.

Несложно догадаться, что в такой архитектуре есть как минимум 2 «действующих лица»:

  • клиент — это некое пользовательское устройство или программа, которая шлет различные запросы серверу и ждет необходимую информацию;

  • сервер — это еще один мощный «компьютер», который намного мощнее «клиента» и хранит различную информацию.

Но есть еще третье «действующее лицо» это пути, по которым общаются клиент и сервер, в роли таких путей выступает всемогущий интернет или частная локальная сеть.

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

 

Клиент-серверная архитектура что это?

Клиент-серверная архитектура — это достаточно большая сеть, которая может состоять из неограниченного числа клиентов и одного или нескольких серверов, при этом неважно, по какой сети происходит коммуникация: по глобальной или по локальной.

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

 

Что такое технология клиент-сервер на практике

В глобальном смысле весь интернет — это один большой сервер, а в роли клиента выступает каждое устройство, выходящее в сеть.

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

  • поисковые запросы;

  • какие читались новости;

  • какие скачивались книги;

  • на каких блогах и какие статьи «клиент» читает чаще всего;

  • какие фильмы или видео были просмотрены;

  • список всех посещенных сайтов;

  • в каких соцсетях «клиент» зависает чаще всего;

  • на каком контенте в соцсетях «клиент» заостряет внимание: лайки, репосты, комментарии, оценки, группы и т. д.;

  • с какими друзьями, когда и где общался «клиент»;

  • какие интернет-магазины посещал и какие заказы делал;

  • и многое другое.

С одной стороны, кажется немного страшным количество собираемой информации со стороны серверов о своих «клиентах». Но с другой стороны, это позволяет в дальнейшем быстрее обрабатывать запросы своих «клиентов», а значит, делать их работу проще и эффективнее.

 

Особенности клиент-серверного взаимодействия

Некоторые особенности:

  • основная работа при такой архитектуре лежит на мощных серверах, а не на клиенте, что снижает нагрузку на последнего;

  • основной объем данных хранится на серверах, так как они лучше защищены, чем многие клиенты;

  • клиент-сервер — это общая архитектура отношений, где уровни отношений регулируются протоколами, что дает возможность разграничивать уровни доступа клиентов к серверам;

  • с сервером может работать любое устройство, вне зависимости от его операционной системы;

  • все команды от клиента обрабатываются сервером, что снижает нагрузку на саму сеть;

  • важно сохранять работоспособность именно серверов, так как их выход из строя грозит отсутствием работоспособности многих клиентов;

  • легкая масштабируемость, то есть при увеличении числа клиентов расширить количество серверов, которые их обслуживают, — не большая проблема.

 

Заключение

Клиент-серверная архитектура — это наш современный интернет во всей своей красе. Соответственно, каждый из нас со своим устройством является клиентом в этой архитектуре, а любой веб-ресурс, который мы просматриваем, является сервером в этой архитектуре. Так что ответить на вопрос: «Что такое технология клиент-сервер?» можно очень просто — это мы со своими гаджетами и глобальный интернет.

Схожие статьи

Django: уязвимости, от которых нужно защитить сайт в первую очередь
Web

Django: уязвимости, от которых нужно защитить сайт в первую очередь

Web

Как получить первый элемент массива в PHP

Web

Как проверить xml-файл на ошибки, какой плагин для этого использовать

Web

Как настроить права доступа к файлам в Laravel?

×