Протокол Salmon представляет собой протокол обмена сообщениями работает через HTTP предназначен децентрализовать комментарии и аннотации , сделанные против подборок статей , таких как сообщения в блоге. Это позволяет установить единую цепочку обсуждения между источником статьи и любым устройством чтения каналов или «агрегатором», подписывающимся на контент. Проще говоря, если статья появилась на 3 сайтах: A (источник), B и C (совокупность), участники всех 3 сайтов могли видеть и вносить свой вклад в одну цепочку беседы независимо от сайта, с которого они просматривали.
Пример
Источник предоставляет конечную точку Salmon - URL-адрес в метаданных RSS / Atom (стандартного) канала. Агрегирующий сайт отмечает конечную точку.
rel = "salmon" href = "http://example.org/salmon-endpoint" />
Если член агрегатора делает комментарий, агрегатор создает комментарий в интересах источника.
xml version = '1.0' encoding = 'UTF-8'?> xmlns = 'http://www.w3.org/2005/Atom' > tag: example.com, 2009: cmt- 0.44775718 [email protected] [email protected] xmlns: thr = 'http : //purl.org/syndication/thread/1.0 ' ref = ' tag: blogger.com, 1999: blog-893591374313312737.post-3861663258538857954 ' > тег: blogger.com, 1999: блог-893591374313312737.post-3861663258538857954 Лосось плывет против течения! Лосось плывет против течения! 2009-12-18T20: 04: 03Z
Комментарий будет закодирован в base64, снабжен цифровой подписью, помещен в конверт и отправлен обратно в источник через конечную точку.
POST / salmon-endpoint HTTP / 1.1 Хост : example.org Content-Type : application / atom + xml xml version = '1.0' encoding = 'UTF-8'?> 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 + base64url RSA-SHA256 EvGSD2vi8qYcveHnb-rrlok07qnCXjn8YSeCDDXlbhILSabgvNsPpbe76up8w63i2f WHvLKJzeGLKfyHg8ZomQ
Затем источник делает доступным комментарий в его исходной ленте, чтобы агрегаторы подписчиков могли обновить свое представление о беседе. Протокол обеспечивает безопасность, так что каждый агрегатор и каждый участник однозначно идентифицируются, чтобы восходящий поток мог использовать меры для блокировки или фильтрации мошеннических сайтов или участников, если это необходимо.
Приложения
Федеративные социальные сети, такие как GNU Social и Diaspora, используют Salmon, как определено в спецификации OStatus, для координации обсуждений между участниками, принадлежащими к разным серверам. Член одного сервера может опубликовать статью, которая распространяется среди других пользователей по сети через Salmon, который, в свою очередь, может оставлять комментарии аналогичным образом.
Смотрите также
- RSS
- АтомПаб
- Опубликовать Подписаться
- OStatus (упоминаются пользователи OStatus, а не конкретно использование протокола Salmon)
Внешние ссылки
- Salmon Protocol - домашняя страница и техническая информация о протоколе.