Представьте такую ситуацию, вы живете в 200 000 году до н.э., живете в пещере, носите одежду из шкуры медведя и занимаетесь охотой. В один из дней, когда вы и основная масса жителей вашей пещеры ушла в лес охотиться, на лагерь напали жители соседнего поселения. Вопрос, как сообщить охотникам что лагерь атакован? А очень просто, нужно подать сигнал о котором отправитель и получатель заранее договорились. Например, 2 зажженных костра будут сигнализировать о том что на лагерь напали люди, а 3 зажженных костра - напали звери.
Таким образом у нас произойдет отправка информации и чтобы она считалась успешной, принимающей стороне(охотникам) необходимо:
- Быть готовым к приему(костер должен быть виден)
- Правильно интерпретировать её значение (нет никакого смысла жечь костры если охотники не понимают что это значит)
Получив информацию, охотники поймут что жителям поселения срочно нужна помощь, необходимо возвращаться и продумать тактику. Например, в случае с животными будут максимально шуметь чтоб прогнать хищников. А в случае нападения людей наоборот будут вести себя тихо и скрытно передвигаться, чтоб неожиданно напасть.
По этому базовому принципу работают абсолютно все современные приложения, а подобные "договоренности" называются клиент-серверной архитектурой. Где точно также, но более сложнее определены правила и принципы организации взаимодействия. Из примера про древних людей, думаю становится понятно что люди в лагере - это клиент, а охотники - сервер. Аналогично и с браузером в котором вы читаете эту статью, ваш браузер - клиент, а Дзен - сервер. А оставив любой комментарий под этим постом, вы как и наши далеки предки зажигавшие костры, воспользуетесь технологией обмена данными.