Я начал писать ответ к комментарию от @asuleymanov и понял, что лучше оформить это как отдельный пост. Вопрос специфичный и в интернете нет конкретного описания, определения таких понятий как Тонкие и Толстые клиенты для WEB приложений. Давайте исторически подходить к определениям. Отталкиваться надо от терминологии прикладного софта: Толстый клиент и Тонкий клиент.
Толстые клиенты, они же Rich (богатые) - это самостоятельные приложение на PC/Сервере. Пример - пакет программ Microsoft Office. Каждое приложение, будь то Word или Excel - самостоятельно. Они весят много, в них много кода для работы с данными и они не обращаются к головному серверу. Все данные хранятся у себя. Принимаем их как Толстые клиенты.
С развитием сети интернет появился новый подход. Главное приложение становилось приложением на отдельном Сервере. К нему подключались Тонкие клиенты и отправляли, получали данные. Но обработкой данных занимался главный сервер.
Таким образом появилось понятие - Тонкий клиент, заточенный для работы пользователя через сеть интернет с сервером, на котором вся обработка данных и происходит.
Теперь вернемся к WEB приложениям. PC в данном случае - Сервер в сети. Толстый клиент в данном случае - софт, который хранит, обрабатывает и предоставляет данные пользователю. Да, пользователь работает с Толстым клиентом через интернет, в таком разрезе можно сказать, что браузер является Тонким клиентом к любому сайту/сервису/соц сети. Но время изменилось и терминология претерпела изменения. Браузер уже не считается Тонким клиентом к каждому сайту, это просто механизм взаимодействия пользователя с программой - сайтом/сервисом/соц сетью.
Итого - каждый сайт, который имеет СВОЮ базу данных, СВОИ механизмы обработки и СВОЙ механизм предоставления этих данных пользователю - считается ТОЛСТЫМ клиентом. Он самостоятелен.
С развитием технологий: javascript, ajax, JSON-RPC, WebSocket появилась возможность серверу/сайту/соц сети не хранить у себя данные, не формировать на своей стороны отображение для клиента. Вся эта работа(запросы/фильтрация/алгоритмы/хранение/отображение) легла на компьютер пользователя. Программа есть, это управляющий скрипт js, но он выполняется уже на браузере клиента, а не на сервере. Браузер клиента связывается с главным сервером по API и получает данные, фильтрует, показывает их пользователю. Таким образом оболочка сайта + управляющий js код в совокупности стали называться Тонким клиентом по отношению к Главному серверу, который хранит все данные.
Вот мы и пришли к тому моменту: как понять - является определенный сайт Толстым или Тонким клиентом к главному серверу. Все просто, достаточно задать следующие вопросы:
- Где хранятся данные, которые выдает обслуживающий сайт сервер пользователю? Если своя база данных - то Толстый, если данные у себя не хранит - то Тонкий;
- Подключение к главной Базе Данных со всей информации происходит на стороне обслуживающего сайт сервере, или браузером на стороне пользователя? Если подключение к БД происходит не на стороне клиента, значит - Толстый, если на стороне пользователя - Тонкий.
- Обработка, сортировка, формирование вывода информации происходит на стороне клиента в браузере, или формируется заранее сервером и отдается пользователю? Если сервер отдает готовую верстку содержащую все данные - он Толстый клиент по отношению к этим данным. Если сервер отдает полу-пустую верстку и браузер пользователя сам подключается, получает информацию, формирует отображение, сортирует, обрабатывает данные - то речь про Тонкий клиент по отношению к этим данным.
Когда я говорю про Толстый клиент для Голоса, то речь про самостоятельный сайт/сервер с своей базой данных (которая не на стороне клиента, а на сервере синхронизирует и вычищает данные с блокчейна Голоса). Это позволит сделать на основе этого разные возможности, недоступные через API методы главного сервера. Смотрим в Википедию по определению Толстого клиента:
Толстый клиент обладает широким функционалом в отличие от тонкого.
Именно в этом и суть. На тонком клиенте невозможно построить сложные фильтры и подборку контента, email уведомления и дайджесты интересных персонализированных материалов. Так как тонкий клиент ограничен узким просмотром последних действий, связанных с вашим аккаунтом.
Предоставляет возможность работы даже при обрывах связи с сервером.
Если ВДРУГ, что-то упадет/залагает, случится что-то со всеми серверами делегатов и их ноды сгорят одновременно - Толстый клиент будет иметь свое представление данных. И пользователи смогут получить к ним доступ, несмотря на недоступность главного сервера API Голоса.
На этом я заканчиваю, буду рад комментариям и подписавшимся. Впереди много интересного!
Предыдущие посты из серии:
Спасибо за разъяснения.
Век живи век учись.
Прекрасно и доступно описаны различия тонких и толстых клиентов, приминительно к вебу. Спасибо!
да но есть ли смысл клиента если сгорели ноды?
А так толстый клиент еще снижает нагрузку на сервер)
Есть. Всегда можно "дописать" возможности, чтобы все работало уже на стороне Толстого клиента, с его БД. Но это настолько невероятная ситуация, что ее можно даже не рассматривать. Долгого здравия проекту Голос!
Я всегда думал что если ноды нет то и блокчейна нет и транзакций нет и все операции (блоки) идут через ноды. Толстый клиент сам не сможет добавить в блокчейн новый пост. Пост может быть в БД но если нод нету то в блокчейне поста тоже нету. Или я ошибаюсь?
В теории - да. Все зависит уже от конкретной популярности толстого клиента.
Рассматриваемая нами ситуация (сгорели все ноды) = уничтожению блокчейну. Все, его нет. Пост может быть в БД толстого клиента, может быть отображен пользователю, но блокчейн уничтожен. В теории так. Фактически БД толстого клиента - это информационный "слепок" контентного содержания блокчейна. Если что-то случится с блокчейном - слепок останется, но дальше функционировать по старым принципам не сможет.
ну это просто сайт с бд будет без блокчейну тут есть положительная сторона. Например если блокчейн возобновиться то толстый клиент может залить новые посты (синхронизировать информацию) и все будет ок. Таким образом можно убрать всплески и снизить пиковые нагрузки на блокчейн
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
t3ran13, maks, gryph0n, asuleymanov, exan, gapel, kukusru, vika-teplo, igor66
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
@on1x Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.