Лосось (протокол) - Salmon (protocol)

В Протокол лосося это протокол обмена сообщениями HTTP предназначен для децентрализации комментариев и аннотаций к статьям новостной ленты, таким как сообщения в блогах. Это позволяет установить единую ветвь обсуждения между источником статьи и любым программа для чтения или «агрегатор», который подписывается на контент. Проще говоря, если статья появилась на 3 сайтах: A (источник), B и C (совокупность), участники всех 3 сайтов могли видеть и вносить свой вклад в одну цепочку беседы независимо от сайта, с которого они просматривали.

Пример

Источник предоставляет конечную точку Salmon - URL-адрес в метаданных RSS /Атом (стандарт) подача. Агрегирующий сайт отмечает конечную точку.

<ссылка rel ="лосось" href ="http://example.org/salmon-endpoint"/>

Если член агрегатора делает комментарий, агрегатор создает комментарий в интересах источника.

<?xml version='1.0' encoding='UTF-8'?><запись xmlns ='http://www.w3.org/2005/Atom'>  <id>тег: example.com, 2009: cmt-0.44775718</id>  <author><name>[email protected]</name><uri>[email protected]</uri></author>   xmlns: thr ='http://purl.org/syndication/thread/1.0'    ref ='tag: blogger.com, 1999: blog-893591374313312737.post-3861663258538857954'>    тег: blogger.com, 1999: блог-893591374313312737.post-3861663258538857954 </thr:in-reply-to>  <content>Лосось плывет против течения!</content>  <title>Лосось плывет против течения!</title>  <updated>2009-12-18T20: 04: 03Z</updated></entry>

Комментарий будет закодирован в base64, снабжен цифровой подписью, помещен в конверт и отправлен обратно в источник через конечную точку.

ПОЧТОВЫЙ / конечная точка лосося HTTP/1.1Хозяин: example.orgТип содержимого: приложение / атом + xml<?xml version='1.0' encoding='UTF-8'?><я: env xmlns: me ="http://salmon-protocol.org/ns/magic-env">    <я: данные type ='приложение / атом + xml'>    PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxlbnRyeSB4bWxucz0naHR0 cDovL3d3dy53My5vcmcvMjAwNS9BdG9tJz4NCiAgPGlkPnRhZzpleGFtcGxlLmNvbSwyMDA5OmNt dC0wLjQ0Nzc1NzE4PC9pZD4NCiAgPGF1dGhvcj48bmFtZT50ZXN0QGV4YW1wbGUuY29tPC9uYW1l Pjx1cmk + Ym9iQGV4YW1wbGUuY29tPC91cmk + PC9hdXRob3I + DQogIDx0aHI6aW4tcmVwbHktdG8g eG1sbnM6dGhyPSdodHRwOi8vcHVybC5vcmcvc3luZGljYXRpb24vdGhyZWFkLzEuMCcNCiAgICBy ZWY9J3RhZzpibG9nZ2VyLmNvbSwxOTk5OmJsb2ctODkzNTkxMzc0MzEzMzEyNzM3LnBvc3QtMzg2 MTY2MzI1ODUzODg1Nzk1NCc + DQogICAgdGFnOmJsb2dnZXIuY29tLDE5OTk6YmxvZy04OTM1OTEz NzQzMTMzMTI3MzcucG9zdC0zODYxNjYzMjU4NTM4ODU3OTU0DQogIDwvdGhyOmluLXJlcGx5LXRv Pg0KICA8Y29udGVudD5TYWxtb24gc3dpbSB1cHN0cmVhbSE8L2NvbnRlbnQ + DQogIDx0aXRsZT5T YWxtb24gc3dpbSB1cHN0cmVhbSE8L3RpdGxlPg0KICA8dXBkYXRlZD4yMDA5LTEyLTE4VDIwOjA0 OjAzWjwvdXBkYXRlZD4NCjwvZW50cnk + </me:data>    <me:encoding>base64url</me:encoding>    <me:alg>RSA-SHA256</me:alg>    <me:sig>    EvGSD2vi8qYcveHnb-rrlok07qnCXjn8YSeCDDXlbhILSabgvNsPpbe76up8w63i2f WHvLKJzeGLKfyHg8ZomQ </me:sig></me:env>

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

Приложения

Федеративные социальные сети, такие как GNU Social и Диаспора используйте лосось, как определено в OStatus спецификация для координации обсуждения между участниками, принадлежащими к разным серверам. Член одного сервера может опубликовать статью, которая распространяется среди других пользователей по сети через Salmon, которые, в свою очередь, могут оставлять комментарии аналогичным образом.

Смотрите также

внешняя ссылка