El protocolo Salmon es un protocolo de intercambio de mensajes que se ejecuta a través de HTTP y está diseñado para descentralizar los comentarios y las anotaciones realizadas en los artículos de noticias, como las publicaciones de blogs. Permite que se establezca un único hilo de discusión entre el origen del artículo y cualquier lector de feeds o "agregador" que se suscriba al contenido. En pocas palabras, si un artículo apareciera en 3 sitios: A (la fuente), B y C (los agregados), los miembros de los 3 sitios podrían ver y contribuir a un único hilo de conversación independientemente del sitio desde el que estuvieran viendo.
Ejemplo
El origen proporciona un punto final de Salmon: una URL en los metadatos de una fuente RSS / Atom (estándar) . Un sitio de agregación toma nota del punto final.
rel = "salmon" href = "http://example.org/salmon-endpoint" />
Si un miembro del agregador hace un comentario, el agregador construirá un comentario en beneficio del origen.
xml version = '1.0' encoding = 'UTF-8'?> xmlns = 'http://www.w3.org/2005/Atom' > etiqueta: example.com, 2009: cmt- 0.44775718 [email protected] [email protected] xmlns: thr = 'http : //purl.org/syndication/thread/1.0 ' ref = ' etiqueta: blogger.com, 1999: blog-893591374313312737.post-3861663258538857954 ' > etiqueta: blogger.com, 1999: blog-893591374313312737.post-3861663258538857954 ¡Los salmones nadan contra la corriente! ¡Los salmones nadan río arriba! 2009-12-18T20: 04: 03Z
El comentario se codificará en base64, se firmará digitalmente, se colocará en un sobre y se enviará por POST al origen a través del punto final.
POST / salmon-endpoint HTTP / 1.1 Host : example.org Tipo de contenido : application / atom + xml xml version = '1.0' encoding = 'UTF-8'?> xmlns: me = "http://salmon-protocol.org/ns/magic-env" > type = ' aplicación / atom + xml ' > PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxlbnRyeSB4bWxucz0naHR0 cDovL3d3dy53My5vcmcvMjAwNS9BdG9tJz4NCiAgPGlkPnRhZzpleGFtcGxlLmNvbSwyMDA5OmNt dC0wLjQ0Nzc1NzE4PC9pZD4NCiAgPGF1dGhvcj48bmFtZT50ZXN0QGV4YW1wbGUuY29tPC9uYW1l Pjx1cmk + Ym9iQGV4YW1wbGUuY29tPC91cmk + PC9hdXRob3I + DQogIDx0aHI6aW4tcmVwbHktdG8g eG1sbnM6dGhyPSdodHRwOi8vcHVybC5vcmcvc3luZGljYXRpb24vdGhyZWFkLzEuMCcNCiAgICBy ZWY9J3RhZzpibG9nZ2VyLmNvbSwxOTk5OmJsb2ctODkzNTkxMzc0MzEzMzEyNzM3LnBvc3QtMzg2 MTY2MzI1ODUzODg1Nzk1NCc + DQogICAgdGFnOmJsb2dnZXIuY29tLDE5OTk6YmxvZy04OTM1OTEz NzQzMTMzMTI3MzcucG9zdC0zODYxNjYzMjU4NTM4ODU3OTU0DQogIDwvdGhyOmluLXJlcGx5LXRv Pg0KICA8Y29udGVudD5TYWxtb24gc3dpbSB1cHN0cmVhbSE8L2NvbnRlbnQ + DQogIDx0aXRsZT5T YWxtb24gc3dpbSB1cHN0cmVhbSE8L3RpdGxlPg0KICA8dXBkYXRlZD4yMDA5LTEyLTE4VDIwOjA0 OjAzWjwvdXBkYXRlZD4NCjwvZW50cnk + base64url RSA-SHA256 EvGSD2vi8qYcveHnb-rrlok07qnCXjn8YSeCDDXlbhILSabgvNsPpbe76up8w63i2f WHvLKJzeGLKfyHg8ZomQ
Luego, el comentario lo pone a disposición el origen en su feed original para que los agregadores de suscriptores puedan actualizar su vista de la conversación. El protocolo proporciona seguridad para que cada agregador y cada miembro se identifique de forma única para que el upstream pueda emplear medidas para prohibir o filtrar sitios o miembros no autorizados si así lo desea.
Aplicaciones
Las redes sociales federadas como GNU Social y Diaspora usan Salmon como se define en la especificación OStatus para coordinar la discusión entre miembros que pertenecen a diferentes servidores. Un miembro de un servidor puede publicar un artículo que se difunde a otros usuarios a través de la red a través de Salmon, quienes a su vez pueden comentar de manera similar.
Ver también
- RSS
- AtomPub
- Publicar Suscribirse
- OStatus (menciona a los usuarios de OStatus, no específicamente al uso del protocolo Salmon)
enlaces externos
- Protocolo de salmón : la página de inicio y la información técnica sobre el protocolo.