【问题标题】:How does RSS reader know that a feed is updated?RSS 阅读器如何知道提要已更新?
【发布时间】:2010-12-30 19:59:22
【问题描述】:

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

它就像黑莓中的 Push 一样吗?

【问题讨论】:

    标签: rss push


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 问题是读者怎么知道有更新?它是否连续读取相同的提要?它怎么知道有更新而不重新加载已经看到的内容?
      • 它不知道。读者只需不断检查它并与缓存(以前的内容或以前的时间戳)进行比较,以确定 rss 提要是否已更新。
      【解决方案3】:

      它只是定期检查提要的更新。

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

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

      【讨论】:

        【解决方案4】:

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

        This is an article关于使用http的这个特性专门支持rss黑客。

        【讨论】:

        • 太棒了。那篇文章让我找到了我一直在寻找的 RSS 术语:“Conditional GET”。这个术语让我在 Python 文档中找到了我正在寻找的 feedparser 的内容。再次感谢!每个人都应该为此答案 +1!
        • 很高兴能帮上忙,如果它满足学习要求,请接受答案。如果您认为此处应包含更多所需的详细信息,也请提出修改建议。
        【解决方案5】:

        让我们总结一下:

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

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

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

        【讨论】:

          猜你喜欢
          • 2013-02-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-09
          • 1970-01-01
          • 1970-01-01
          • 2010-10-04
          相关资源
          最近更新 更多