Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml RSS推送或拉送更新吗?_Xml_Rss_Rome - Fatal编程技术网

Xml RSS推送或拉送更新吗?

Xml RSS推送或拉送更新吗?,xml,rss,rome,Xml,Rss,Rome,请注意:虽然我提到了Java 8,但我认为这里的答案确实与语言无关 我正在构建一个简单的Java8Web服务,它将聚合各种主题的RSS提要,并根据请求提供它们的内容。我以前从未使用过RSS,我找到的所有视频都是关于如何为你的蹩脚博客生成RSS文件的,我在“Java和RSS”上找到的所有文章都只是解析XML的示例 我很好奇:RSS的工作原理是推还是拉 我所说的“推送”是指:比如说“RSS提要A”在他们的服务上发布对他们的RSS文件的更新(比如http://rss-a.example.com/r

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


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

我很好奇:RSS的工作原理是推还是拉

  • 我所说的“推送”是指:比如说“RSS提要A”在他们的服务上发布对他们的RSS文件的更新(比如
    http://rss-a.example.com/rss/news.rss
    )。他们的服务器是否会以某种方式向我的后端发送消息,提醒我的后端更新已准备就绪?;或
  • 我说的“拉”是指:我的后端是否只负责每n秒ping一次所有RSS提要URL,并在发布时拉入新内容

另外,Java库如何与上面的推/拉体系结构结合?

RSS只是一种数据格式。没别的了。它既不推也不拉

它通常通过轮询进行访问(该格式包括指定作为元数据轮询的频率的功能)


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

如果您编写的软件需要实时通知RSS或Atom订阅源何时发生更改,则可以使用协议或


WebSub曾被称为pubsubb。这里有一个关于协议的详细信息以及一些PHP和WordPress使用它的代码。

谢谢@Quentin(+1)-那么一个典型的解决方案是否可以像这样工作?(?):(1)内容提供商在一些web链接上托管一个
*.rss
文件(我假设是XML)。(2) 一些进程(“RSS客户端”缺少更好的术语)获取RSS文件并查阅其数据,了解它应该多久检查一次相同的RSS文件以进行更新/更改。(3) RSS文件定期获取RSS文件,对其进行解析,从中提取更新的内容,并对新内容执行任何操作。对还是我走远了?是的。假设一个相当智能的RSS引擎。非常感谢你的确认,最后的后续行动(我保证!):罗马图书馆(上面链接)是一个Java图书馆,但它主页上的所有术语对RSS来说似乎都是通用的。(1) 看起来他们有一个可以将远程RSS文件(通过HTTP GET)读入RSS文件的内存表示形式,是吗?(2)它们似乎也有一个“Atom发布协议……Atom是如何融入RSS方程式的?RSS有六个半兼容版本,其中大多数都没有涵盖很多用例。Atom是当人们从RSS的错误中学习并试图创造更好的东西时产生的规范。任何像样的RSS库都可以处理Atom。