MicroID - микроформат интернет-подписей

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

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

MicroID

Решение данной проблемы нашёл Джереми Миллер, который, к слову, также является создателем системы Jabber. Он предложил децентрализованный протокол идентификации MicroID. При чём, название здесь абсолютно точно передаёт суть - протокол очень прост и минималистичен.

MicroID - это механизм, который позволяет проверить, действительно ли пользователь является владельцем того контента, на который он претендует. Это может быть страница пользователя на одном из сайтов, его публикация в интернете, комментарий, фотография или даже оценка, которую выставил пользователь в каком-либо рейтинге.

Разработчикам сайтов подобная идентификация владельца ресурса уже давно знакома: в своих разделах для веб-мастеров, при регистрации нового сайта, Яндекс, Google, Yahoo! и MSN просят загрузить в корень сайта файл с определённым именем, либо выставить в страницы сайта META-тег с определённым значением, для того, чтобы удостовериться в том, что именно вы являетесь владельцем этого сайта.

Что-то подобное предлагает и описываемая технология, с тем отличием, что MicroID является микроформатом и имеет гораздо более широкую сферу применения.

Использование

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

microid = sha1(sha1("mailto:example@example.com") + sha1("http://example.com/" ))

В результате мы получим подпись mailto+http:sha1:b8fa5c044419e3158b5cfcdd305babfffe6689b2, которой сможем подписывать собственный контент.

Например, для указания того, что вы владеете определённой страницей в интернете, достаточно разместить свою MicroID-подпись в META-теге HTML-документа:

<meta name="microid" content="mailto+http:sha1:b8fa5c044419e3158b5cfcdd305babfffe6689b2" />

Поскольку MicroID является микроформатом, имеется возможность подписать им и отдельную часть документа, например, собственный комментарий на чужом сайте:

<div class="microid-mailto+http:sha1:ca94387152e8ea62fee73c45c4bae79e54543485"></div>

Хотя здесь, конечно, всё зависит от поддержки MicroID движком сайта, на котором вы оставляете комментарии.

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

К примеру, наш сайт хочет убедиться, действительно ли посетитель является владельцем сайта, адрес которого он вводит в форму комментирования. Подразумевается, что там же пользователь указывает и свой адрес электронной почты. Затем, из введённых данных, он строит MicroID, который ожидает увидеть на сайте и загружает указанную страницу с целью разыскать там указание микроформата MicroID. Если обе версии MicroID совпадают - значит проверка прошла успешно и пользователь действительно владеет данной страницей. Всё достаточно просто и подробно описано в спецификации.

Для чего это нужно?

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

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

Дополнительная информация: