Найти тему
Куакушонок QA

Обмен данными. Клиент-серверная архитектура каменного века

Древний человек из каменного века пытается понять что такое клиент-серверная архитектура
Древний человек из каменного века пытается понять что такое клиент-серверная архитектура

Представьте такую ситуацию, вы живете в 200 000 году до н.э., живете в пещере, носите одежду из шкуры медведя и занимаетесь охотой. В один из дней, когда вы и основная масса жителей вашей пещеры ушла в лес охотиться, на лагерь напали жители соседнего поселения. Вопрос, как сообщить охотникам что лагерь атакован? А очень просто, нужно подать сигнал о котором отправитель и получатель заранее договорились. Например, 2 зажженных костра будут сигнализировать о том что на лагерь напали люди, а 3 зажженных костра - напали звери.

-2

Таким образом у нас произойдет отправка информации и чтобы она считалась успешной, принимающей стороне(охотникам) необходимо:

  1. Быть готовым к приему(костер должен быть виден)
  2. Правильно интерпретировать её значение (нет никакого смысла жечь костры если охотники не понимают что это значит)

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

По этому базовому принципу работают абсолютно все современные приложения, а подобные "договоренности" называются клиент-серверной архитектурой. Где точно также, но более сложнее определены правила и принципы организации взаимодействия. Из примера про древних людей, думаю становится понятно что люди в лагере - это клиент, а охотники - сервер. Аналогично и с браузером в котором вы читаете эту статью, ваш браузер - клиент, а Дзен - сервер. А оставив любой комментарий под этим постом, вы как и наши далеки предки зажигавшие костры, воспользуетесь технологией обмена данными.