Кратко

  • Рекомендация W3C Webmention предусматривает передачу двух URL: source для страницы со ссылкой и target для страницы, на которую она ведёт. Получатель загружает источник и проверяет наличие точной ссылки прежде, чем использовать сообщение.
  • Проверенное упоминание можно показать как ответ, использовать иначе или отправить на модерацию. Официальная история публикации W3C датирует Рекомендацию 12 января 2017 года.

Ответ жил по собственному адресу

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

У этой идеи был предшественник. Исходная спецификация Pingback 1.0 использовала вызов XML-RPC pingback.ping, передававший адреса источника и цели. Webmention прямо описывает себя как упрощение Pingback: вместо XML-RPC применяется обычный HTTP POST с полями формы. За изменением формата стоит важное распределение обязанностей. Отправитель сообщает, где находится ссылка; получатель ищет её на внешней странице своими средствами.

Сначала страница источника должна существовать в открытом доступе и содержать ссылку на цель. Программа отправителя получает страницу цели и обнаруживает её адрес для Webmention в заголовке HTTP Link или в HTML. Затем на этот адрес уходят source и target. Получатель может поставить проверку в очередь, загрузить источник и найти точное совпадение с целевым URL. Ответ HTTP об успешном приёме означает, что сообщение дошло до обработчика. Публикация ответной реплики на странице статьи требует отдельного решения.

Ссылка проверена — редактор всё ещё нужен

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

Факт ссылки сам по себе не удостоверяет личность отправителя и не оценивает содержание ответа. Если получатель воспроизводит чужой текст, раздел безопасности стандарта требует кодировать или фильтровать его перед выводом. Документ также рассматривает очередь проверок, ограничения на сетевые запросы и модерацию. Открытый канал приносит полезные связи, но одновременно требует от сайта работы с чужими URL и чужим содержимым.

Состояние источника меняется. Автор может переписать ответ, удалить ссылку на статью или убрать страницу целиком. Webmention рекомендует снова посылать уведомление после изменений. Для удалённого источника предусмотрен статус 410 Gone и повторное извещение прежних адресатов. Получатель может обновить запись или снять её с показа. Повторение одной и той же пары адресов без изменения содержания не должно выращивать десятки одинаковых ответов. Распределённый разговор нуждается в памяти и уборке.

Собственная хроника сообщества IndieWeb относит первый черновик к октябрю 2012 года. История W3C показывает первый публичный рабочий проект в январе 2016 года и Рекомендацию в январе 2017-го. Практика независимых сайтов получила общий порядок действий, пригодный для разных программ. Стандарт определил доставку и проверку сообщения; владельцы сайтов определяют, будут ли принимать его и что покажут публике.