Технология Solid: пришло время для перестройки веба

aqqhom41ocm_xwthon-solqbaha.jpeg
Сэр Тим Бернерс-Ли на Campus Party 2008, фото Jonan Basterra

Сэр Тим Бернерс-Ли, создатель Всемирной паутины и директор консорциума W3C, уверен, что развитие веба достигло критической точки, максимально отклонилось от изначальной концепции. Изначально он задумывался как децентрализованная сеть, где первый браузер одновременно был и редактором документов. Идея состояла в том, что каждый пользователь не только сможет просматривать документы, но и создавать, редактировать их. Веб должен был стать местом совместного творчества и сотрудничества для всего человечества. Но что-то пошло не так.

Есть примеры удачной реализации совместного творчества, как Википедия, децентрализованный хостинг сайтов и пиринговые социальные сети. Это предвестники того, каким может стать веб на основе новой технологии Solid, которую разработал Тим Бернерс-Ли совместно с группой исследователей из Массачусетского технологического института. Это венец десятилетий концептуальной работы, которой занимался Бернерс-Ли.
Как веб дошёл до такой потери децентрализации, до печального нынешнего состояния? Из первого популярного браузере Mosaic удалили инструменты мультимедиа и редактирования. Было решено, что они слишком сложны для обывателя. С этого всё и началось. Такая нежелательная трансформация родного детища в итоге привела к тому, что Тим Бернерс-Ли с коллегами предложили вернуть вебу недостающую функциональность: в 2003 году они предложили концепцию под названием Read-Write Web.

Концепция предполагает, что каждый может участвовать в формировании единого пространства веба. Для этого нужны:

  1. функциональная система разрешений (кто, где и что может писать) на основе общей системы идентификации;
  2. управляемый доступ к данным, поскольку основу веба составляют не только документы, но и данные.


Сейчас большая работа над инструментами и средствами разработки для этой концепции подошла к концу. Технология Solid — это реальное воплощение идеи, сформулированной 15 лет назад.

Технология Solid основана на текущих стандартах W3C, что облегчает её внедрение и способствует быстрейшему распространению. В ней реализована система разрешений и идентификации, функциональность сквозного редактирования всех документов, система управления данными и обновления в реальном времени через WebSockets.

zefffveyxnlleptj3-l_eytpeeq.png

После регистрации на одном из solid-серверов пользователь получает идентификатор и личный «контейнер» (solid pod). Как вариант, можно поднять локальный сервер. Фото предоставил Тим Бернерс-Ли

Установка локального сервера Solid


Инструкция по установке и тестированию здесь. Сервер устанавливается и работает либо напрямую через Node.js, либо с помощью Docker.

Поддерживаемые функции:

  • Linked Data Platform: стандарт управляемого доступа к данным, идентифицируемым по HTTP URI. Отдельно описана работа с контейнерами, куда ресурсы добавляются операцией POST
  • WebAccessControl: децентрализованная система многопользовательского доступа к ресурсам
  • Аутентификация по протоколу WebID-TLS
  • Технология позволяет пользователя аутентифицироваться на разных ресурсах по одному сертификату из браузера. Выдачей таких сертификатов для своих пользователей может заниматься любой сайт. Система расширяет спецификацию WebID. В случае с локальным сервером Solid можно сгенерировать самоподписанный сертификат
  • Обновления в реальном времени (с помощью WebSockets)
  • Подтверждение «удостоверений» для WebID
  • CORS-прокси для доступа к данным между сайтами
  • Почтовый сервер для пользователей


См. также:

«Solid открывает невероятные возможности для творчества, решения проблем и коммерции. Это даст отдельным людям, разработчикам и предприятиям совершенно новые способы, как понять, создать и найти инновационные, надёжные и полезные приложения и услуги. Я вижу множество рыночных возможностей, включая надёжные приложения и хранилища данных», — говорит Тим Бернерс-Ли в своей статье от 29 сентября 2018 года, где он анонсировал этот проект и пригласил всех к участию.


На этой неделе репозиторий Solid вошёл в топ самых популярных новых репозиториев на Github, уступая только исходникам MS-DOS 1.25 и 2.0, перезалитым сюда из Музея компьютерной истории.

Возможно, технологию Solid поддержат разработчики, для этого сейчас есть всё необходимое. Сейчас в мире поднимаются первые solid-сервера и пока совсем немного приложений, которые их используют. Установив локальный сервер, непонятно, что делать дальше. Наверное, примерно так ощущали себя первые пользователи, которые выходили в интернет. Но потенциал новой децентрализованной сети может оказаться очень большим.

«Solid изменяет текущую модель, в которой пользователям приходится передавать личные данные цифровым гигантам в обмен на предполагаемую пользу. Как мы все выяснили, это было не в наших интересах. Solid — это то, как мы развиваем интернет, чтобы революционным способом восстановить баланс, предоставляя каждому из нас полный контроль над данными, личными или нет» — Тим Бернерс-Ли.

Добавим, что одновременно с анонсом Solid сэр Тим Бернерс-Ли запустил стартап Inrupt, который будет продвигать новую технологию: «Наша цель — мировое господство», — скромно сказал создатель Всемирной паутины в интервью Fast Company.
kx0fmfjomyxkckip9bo1l48sxsq.jpeg

© Habrahabr.ru