35

只是通过 youtube 了解这一点,但无法找到我关于读者如何知道有更新的问题的答案。

就像黑莓中的 Push 一样吗?

4

5 回答 5

39

RSS 是一种文件格式,实际上并不知道它从何处获取条目。答案确实是:“http 请求如何仅从服务器获取最新结果”,答案是Conditional GET source。Http 还支持Conditional PUT

这是一篇关于使用http的这个特性专门支持rss黑客的文章。

于 2013-01-09T02:32:56.013 回答
18

RSS 是一种拉取技术。读者不时地重新获取 RSS 提要(例如每小时两次,或者如果读者知道这是一个经常更新的提要,则更频繁)。

提要通过常规 HTTP 提供,由一个简单的 XML 文件组成。

于 2009-12-29T16:22:23.043 回答
11

它只是定期检查提要以进行更新。

最近有一个名为pubsubhubbub的新协议可以将提要推送到侦听器。但这需要出版商支持。

以下是支持实时 RSS 推送的 Web 服务列表,包括 Google Reader、Blogger、FeedBurner、FriendFeed、MySpace 等。

于 2009-12-29T16:25:47.863 回答
9

让我们总结一下:

  • 通常,客户端通过轮询知道 RSS 提要已更新,即常规拉取(提要 URL 上的 HTTP GET 请求)
  • 网络上不存在推送,至少在HTML5 websocket修复之前不存在 HTTP。
  • 然而,一些博客框架,如 Wordpress、Google 等,现在支持pubsubhubbub约定。在这种模式下,您将“订阅”RSS 流的更新。“集线器”将调用您网站上的 URL(回调 URL)向您发送更新:这是推送。

推或拉,在这两种情况下,您仍然需要编写一些代码来更新您的站点、数据库或您存储/显示它的任何位置上的 RSS 列表。

而且,作为一个附带问题,没有必要在每次拉取时都请求整个 XML 来查看内容是否发生了变化:使用与 RSS 无关的标准,但对整个 HTTP 协议是全局的(etag 和 last-modified headers ),您可以知道 RSS 页面是否在给定日期之后被修改,并且只有在修改后才能获取整个 XML。

于 2013-07-30T16:15:14.970 回答
4

这是一个拉。这就是为什么您必须配置您的阅读器刷新提要的频率。

于 2009-12-29T16:22:17.693 回答