RSS 是我今年发现最让我惊艳的东西,我很遗憾他被大数据推送给挤压,因此由衷希望大家能共同维护 RSS 生态。
首先推一下这篇博文: RSS 全教程
原文作者:涛叔
原文链接:Web Feed 倡议书
为了推动开放 Web 生态的发展,我涛叔设计并开发了 Web Feed 扩展,使用 Web Feed,用户可以在浏览器中方便地订阅独立博客,从而获取类似微信公众号的体验。但目前基于 Rss 的各种方案都存在一定的局限性。今天向广大作者发出倡议,希望能一起解决这些问题。
1、方便读者快速订阅博客
我们虽然可以在博客上指明 Feed 链接,但不同博客的链接位置却不尽相同,多数在页面的右上角,少数在页面底部,还有一些在左边或者右边。有的网站虽然提供 Feed 链接,却只在首页等特殊页面展示。如果用户只是阅读某篇特定的文章,则不能第一时间发现 Feed 链接。
为了解决这个问题,我建议所有作者都为博客加入 rss-autodiscovery 支持。简单来说就是在每个页面的 <head>
部分都添加特殊的 <link>
标签:
<link rel="alternate"
type="application/atom+xml"
title="RSS"
href="https://u.sb/atom.xml">
这里的 type
属性指明 Feed 类型。如果是 RSS 需要写成 application/rss+xml
,Atom 则需要写成 application/atom+xml
。
有了这样标准化的 <link>
标签,我们才有可能实现自动发现、一键订阅等功能。
2、选择合适的 Feed 类型
我们知道 Feed 类型分为 RSS 和 Atom),虽然 RSS 历史更久远,兼容性更好,我还是建议大家选用 Atom 格式。这是因为在 RSS 规范里面,每一个 <item>
只有一个 <description>
字段。有的站长用它输出摘要,有的站长用它输出全文。局面比较混乱。而 Atom 规范则分别定义了 <summary>
和 <content>
,在语义上更加清晰,客户端在解析的时候也更加简单。
3、Feed 文件体积过大
很多作者为了方便读者订阅,不但在 Feed 中输出了全文,而且还把所有的历史文章都加到了 Feed 中。这样会生成一个非常大的 XML 文件。Feed 文件体积过大,一方面会消耗不必要的服务器流量,导致下载时间过长,另一方面还会给客户端解析带来非常大的负担。更重要的是,我们不可能在短时间内写很多文章,所以用户订阅 Feed 的时候大多数情况下下载的 XML 文件内容都只有很少变化或者根本没有变化。
为此,我建议各位作者把 Feed 当成一种更新同步机制,而非内容同步机制。也就是说,大家只需要把最新发布的内容输出到 Feed 中就可以了。比如,我们可以只针对最新的十篇文章生成 Feed 文件。读者只需按照一定的周期来检查是否有新的 Feed 就不会错过新发布的文章。为了进一步减少 Feed 文件的体积,我进一步呼吁大家只在 Feed 中输出文章摘要。如果读者有兴趣,则可以作者的博客上继续阅读。
顺便提一个小细节。有的作者为了让读者回源站阅读全文,不但没有在 Feed 中输出全文,而且在输出的摘要的最后还附加了一个超链接,来引导读者跳转到自己的博客。其实这大可不必。因为 Feed 信息中已经包含了文章链接,阅读器一般也都会再显示一个阅读原文按钮。如果在文章摘要中再输出一个,那就会显示两个原文跳转链接,非常难看。
4、Feed 信息不完善
这个问题基本不影响用户订阅 Feed。但我还是建议作者能把网站标题、网站图标、主页链接、个人邮箱等信息加现 Feed 文件。
5、统一内容编码
建议大家统一使用 UTF-8 编码。
以上就是我所想到的 Feed 订阅问题。总结一下就是使用 Atom 格式,加入自动发现的 <link>
标签,只输出最新几篇文章的摘要,完善站点信息,比如一使用 UTF-8 编码。欢迎大家留言讨论。也欢迎大家关注Web Feed 项目。