如何通知订阅者已发布的项目已更改?

时间:2017-03-27 09:25:36

标签: rss

我想为拥有常见问题解答的网站实施一个非常基本的RSS Feed。

订阅者将收到有关新问题/答案的通知。太棒了。

但问题会不时地对内容进行必要的更改(例如,当找到问题的更好答案时)。 RSS是否能够通知订阅者这样的答案已经改变了?

如果没有,那可能是一个好的解决方法?我想提供另一个RSS feed,它只宣布对现有问题的修改。这是"正确的方式"?

3 个答案:

答案 0 :(得分:2)

答案取决于您要为其实施Feed的客户类型。

如果您正在谈论简单的RSS阅读器,没有真正的标准只更新一个已更改的条目,但大多数条目都在进行长轮询,有效地通过更新再次获取所有Feed。

但是有一些称为轻型和胖式ping的协议专门用于处理您想要做的事情,两者之间的区别是:

  • 轻度ping表示已更改的Feed的网址将发送给订阅者
  • Fat pinging表示已更改的Feed的更新内容将发送给订阅者

一个非常流行的协议(胖子)并由Google支持称为PubSubHubbub。已经有一些服务使用它,如Blogger,Youtube,MySpace,Tumblr或Wordpress。他们拥有their Github上提供的大量语言的开源客户端,如果您感兴趣,我建议您查看their wiki,这是非常完整且信息丰富的。

使用第二个Feed进行更新似乎不是一个好主意,因为它不是它的设计目的,并且意味着你必须实现一个客户端供人们安装才能有效地获得更新。

答案 1 :(得分:0)

如果某个节点已更改为其他值,我会根据新版本编辑或更新日期,标题和其他XML节点值,例如:

如果您的sml节点的变量可以更改为其他值,那么您将能够使用if语句检查更改,对于此示例,我将检查{{{{ 1}} ..

$title

我希望这会带你走向正确的方向。

答案 2 :(得分:0)

您可以格式化链接,使其包含最后一个答案的哈希或ID。通过这种方式,链接将被视为新鲜的,如果您有自定义的源阅读器,它可以跟踪链接是新的还是由用户读取