Jump to content

Лосось (протокол)

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

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

<link rel="salmon" href="http://example.org/salmon-endpoint"/>

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

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'>
  <id>tag:example.com,2009:cmt-0.44775718</id>
  <author><name>[email protected]</name><uri>[email protected]</uri></author>
  <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
    ref='tag:blogger.com,1999:blog-893591374313312737.post-3861663258538857954'>
    tag:blogger.com,1999:blog-893591374313312737.post-3861663258538857954
  </thr:in-reply-to>
  <content>Salmon swim upstream!</content>
  <title>Salmon swim upstream!</title>
  <updated>2009-12-18T20:04:03Z</updated>
</entry>

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

POST /salmon-endpoint HTTP/1.1
Host: example.org
Content-Type: application/atom+xml

<?xml version='1.0' encoding='UTF-8'?>
<me:env xmlns:me="http://salmon-protocol.org/ns/magic-env">
    <me:data type='application/atom+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 и Diaspora, используют Salmon, как определено в спецификации OStatus, для координации дискуссий между участниками, принадлежащими к разным серверам. Участник одного сервера может опубликовать статью, которая распространяется среди других пользователей по сети через Salmon, которые, в свою очередь, могут комментировать аналогичным образом.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6857c8b1600925f3613e94376fcca83e__1612098540
URL1:https://arc.ask3.ru/arc/aa/68/3e/6857c8b1600925f3613e94376fcca83e.html
Заголовок, (Title) документа по адресу, URL1:
Salmon (protocol) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)