RSS是推送还是提取更新?

时间:2017-12-05 20:19:32

标签: xml rss rome

请注意:虽然我提到了Java 8,但我认为这里的答案与语言无关。

我正在构建一个简单的Java 8 Web服务,它将跨各种主题聚合RSS提要,并根据请求提供其内容。我之前从未使用过RSS,我找到的所有视频都是关于如何为你的博客生成RSS文件,我在“ Java和RSS ”上找到的所有文章都是只是解析XML的例子。

我很好奇:RSS是否可以推或拉

  • 通过“推”我的意思是:说“RSS feed A”在他们的服务上发布他们的RSS文件的更新(比如http://rss-a.example.com/rss/news.rss)。他们的服务器是否以某种方式向我的后端发送消息,提醒我支持更新已准备就绪?或
  • 通过“拉”我的意思是:我的后端是否负责每隔 n 秒对所有RSS提要网址进行ping操作并在发布时提取新内容?

此外,像ROME这样的Java库如何进入上面的推/拉架构?

2 个答案:

答案 0 :(得分:4)

RSS只是一种数据格式。而已。它既不推动也不拉动。

通常通过轮询访问它(格式包括指定将其作为元数据轮询的频率的能力)。

这并不妨碍您创建(或查找现有的)服务,您可以将数据发送到客户端,而不是让他们通过HTTP请求数据。您也不会在其中发送消息,通知他们Feed已更新,并且他们应该发出新的HTTP请求。

答案 1 :(得分:0)

如果您正在编写需要实时通知RSS或Atom Feed更改时间的软件,则可以使用协议WebSubRssCloud

WebSub曾被称为PubSubHubbub。有一个GitHub account,其中包含有关协议的更多信息,以及一些使用它的PHP和WordPress代码。