- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
要使用电子邮件相互通信,用户不需要使用相同的“提供商”(一些用户可能使用 gmail、其他 yahoo 或 hotmail,他们仍然可以互相写电子邮件)。不幸的是,社交网络并非如此。使用 Facebook 的用户无法看到使用 Google+ 的用户的帖子、评论、赞和分享,反之亦然。
但为什么会这样呢?让我们想象一下下面的架构。每个用户都可以使用他/她喜欢的任何提供商“广播”。 RSS 格式提供了这种可能性。任何用户都可以选择任何“提供商”来生成他/她的 RSS 提要并查看他/她订阅的用户的 RSS 提要。因此,仅通过按原样使用 RSS,我们就已经可以构建一个类似 Twitter 的分布式系统(您可以发帖,可以关注其他人,但不能分享)。
这种方法仍然缺少评论其他帖子的可能性(喜欢、不喜欢或评级也可以被视为评论)。理论上,可以像发布帖子一样发布/广播评论。其实评论也是帖子,唯一的区别是它们是“附加”在其他帖子上的。因此,可以生成类似 XML 的 RSS,其中一些帖子(那些评论)有额外的标签,其中包含被评论的帖子的 URL。
通过 RSS 的如此小的扩展,可以构建分布式社交网络或分布式社交新闻系统(如 Reddit)。
有朝这个方向发展的东西吗?
最佳答案
你所描述的听起来很像 Distributed social network ,一个分散并分布在不同提供商之间的网络,允许每个站点的用户与任何相关站点的用户或您所说的提供商进行通信。这也提出了一点,即提供商实际上不需要成为这样的站点,但仍可以提供所需的服务。
这种模式已得到 EFF 的认可,认为它可以“合理地将控制权和选择权交还给互联网用户”。
OStatus 是目前由 W3C 维护的规范,它建立在 Atom 和 RSS 提要之上,并且 PubSubHubbub .
PubSubHubbub provides a way to subscribe, unsubscribe and receive updates from a resource, whether it's an RSS or Atom feed or any web accessible document
PubSubHubbub 的规范是 here , 以及 OStatus here ,我在下面转载了其中的一些重要部分:
Updates are represented as Activities in Atom. Typical updates would be represented in the default Activity Schema with activity verb "Post" and activity object type "Note", "Status" or "Comment".
A spatial location for the update object should be encoded as GeoRSS element as part of the activity. Attachments to an update should be represented as enclosures.
Users are identified by URIs.
Users SHOULD have a profile URL, which SHOULD be an HTTP or HTTPS reference to an HTML page including discovery information for the user's feed. The profile URL SHOULD be represented as a link[@rel=alternate,@type=text/html] in the Activity subject, actor, or object item, otherwise the URI MAY be used if it is an HTTP or HTTPS URL.
The publisher server uses PubSubHubbub [push] to notify subscribers of new updates.
Servers use Salmon to post social events to users or groups.
描述了 Salmon 协议(protocol) here , 协议(protocol)流程描述如下:
A source provides an RSS/Atom feed of content. It includes a Salmon link in its feed:
An aggregator reads the feed (ideally via a push mechanism such as PubSubHubbub), and sees from the link that it is Salmon-enabled. It remembers the endpoint URL for later use.
When an aggregator's user leaves a comment on a feed item, the aggregator stores the comment as usual, and then also POSTs a salmon version of it to the source's Salmon endpoint
The source responds to the salmon with standard HTTP codes - 2xx for OK, 4xx for input problem, 5xx for source / server error. The usual result is for the salmon to be published along with other comments on the source's web page. Note that sources are not obligated to actually publish the salmon -- they may moderate them, spam block them, aggregate or analyze them instead. However, if the source does publish the salmon in a comment feed, it has to maintain certain fields to make the protocol work end-to-end.
Adrian D. Thurston 写了一篇 paper基于分布式社交网络协议(protocol) (DSNP)。在编写协议(protocol)时,该协议(protocol)的版本为 0.6,但据我所知,开发已经停止。本文涉及诸如基于 RSA 的身份、交友协议(protocol)、无密码登录、广播和消息签名 key 等方面。 reference implementation可用。
维基百科的 Comparison of software and protocols for distributed social networking可能会有一些用处。
关于xml - 是否有类似 RSS 的标准格式用于分布式(类似论坛)通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32759823/
有没有办法使用 Clojure format(基于 java.util.Formatter)或 cl-format(基于 Common Lisp 的format) 以编程方式设置空格填充?如果您事先知
我正在尝试创建一个用户实体以及数据/文件(pdf格式)。上传并保存到数据库很好,但是当我让用户进入 postman 时尝试发送获取请求方法,然后在数据字段中显示一些糟糕的数据,而且我无法在数据库中看到
我必须将值为 {"STX","ETX"} 的普通字符串数组转换为十六进制值,并且我应该根据 http://www.asciitable.com/ 得到 {2,3} . 最佳答案 听起来你想要一个 Ma
我想格式化我的代码,但不确定哪种格式类型最适合我的项目需要。 我发现仅对于 dart 和 flutter 项目(我都有),有不止一个选项可用于格式化编程语言/框架中预先构建的代码。 Dart : da
我已经尝试了多个代码,例如这样 Sub DateFixer() Application.ScreenUpdating = False Application.Calculation =
SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.add("wt","csv"); server.query(query)
我有一个包含多个字符串的数据库,我从查询中获取了这些记录,并且我在 QString 中收到了这种格式的数据: "Mon, 13 Nov 2017 09:48:45 +0000" 所以,我需要根据文化来
我有一个 Delphi 2007 DBGrid,我想让用户以更新的 Excel 格式 (OOXML) 保存它,但我的标准是用户不需要安装 Excel。有没有人知道任何已经这样做的组件?是的,我已经搜索
我正在我们的普通 html 站点旁边创建一个移动站点。使用 rails 3.1。移动站点在子域 m.site.com 中访问。 我已经定义了移动格式(Mime::Type.register_alias
我正在尝试使用 xmlstarlet 格式化 xml 文件,但我不想创建新的 xml 文件。 我试过了 xmlstarlet fo --inplace --indent-tab --omit-decl
我在 A 列中有一个带有文本的电子表格。 例如 A1=MY TEXT1 A2=MY TEXT2 A3=MY TEXT3 A4=MY TEXT4 A5=MY TEXT5 我想在文本的前后添加撇号 结果是
我想做一些源代码转换(自动导入列表清理),我想保留注释和格式。我听说过一些关于解析器这样做的事情,我认为是 ghc 解析器。 看起来我可以通过从文件中提取内容来使用 hs-src-exts Langu
我在 Excel 中工作,我想根据另一张表中的列表找出一张表中是否有匹配项。 我已将值粘贴到列表中,并希望从另一张表中返回它们的相应值。包含字母和数字的单元格可以正常工作(例如:D5765000),但
我有一个 DurationField在我的模型中定义为 day0 = models.DurationField('Duration for Monday', default=datetime.time
我正在为我的应用程序开发 WMI 查询。它需要为给定的 VID/PID 找到分配的虚拟 COM 端口。使用 WMI Code Creator 我发现...... 命名空间:root\CIMV2 类:W
我试图弄清楚如何使用 NSTextList,但除了 this SO question 之外,在网上几乎没有找到有用的信息。和 the comment in this blog . 使用这个我已经能够创
我要查询all_objects表在哪里last_ddl_time='01 jan 2010'但它拒绝日期格式... 任何机构给我查询的确切格式? 最佳答案 正如 AKF 所说,您应该使用 Trunc除
我试图在我的应用程序中实现聊天功能。我使用了 2 个 JEditorPane。一个用于保存聊天记录,另一个用于将聊天发送到前一个 JEditorPane。 JEditorPane 是 text/h
我在大学里修了一个编译器类(class),内容非常丰富,很有趣,尽管也很多工作。既然给了我们要实现的语言规范,所以我学不到的一件事就是语言设计。我现在正在考虑创建一种有趣的简单玩具语言,以便我可以玩耍
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我是一名优秀的程序员,十分优秀!