RSS原理学习
本文为转载学习,原文地址:http://blog.yam.com/krantas/article/12416873
1、什么是网站联合化
网站联合化(web syndication)或内容联合化(content syndication)是一种新形态的网站内容传播方式。它的基本概念是发布(publish)和订阅(subscribe),使用者无需造访网站,就可以得知名网站的更新内容为何,以及内容在哪里。
2、这与email的区别是
网站联合化是透过(web feed),让所谓的阅读器(reader)读取资料。一些人以为web feed像是电视和收音机一样把资料送过来;但事实上,web feed只是一个类似网站的的档案,从头到尾都放在源网站上,但会定期把网站的更新内容写进来。等使用者打开阅读器时,阅读器便会读取feed的内容,再判断有哪些新的东西存在。
许多关于联合化技术的介绍会说这是一种推送技术(push technology);也就是网站主动把资料传给订阅者,而不是由使用者去搜寻资料。不过网站实际上虽然发布的文章,却并不把资料丢给它们,而是让阅读器去读取web feed。订阅者所要做的就是记住feed网站就行了。
网站内容发布,然后输出xml形式的摘要;阅读者的阅读器,也就是资料的整合点再取得这些摘要并显示给订阅者看。
3、网站联合化的好处
透过web feed订阅网站的使用者,不需如email版提供自己的地址,免除垃圾邮件的困扰;对内容发布者而言,feed既然会自动产生,亦无需多花时间把内容主动丢给阅读者。阅读器并能按来源网站以一目了然的方式列出内容,不想看的大可跳过。若不想再订阅,只需从阅读器删除feed的网址即可。
4、联合化的更新通知不是自动的
是半自动的。等你登入、打开阅读器或按下更新,阅读器才会捉取可能存在的更新内容,所以不能保证资料发布对你有及时性,除非你随时都开着并检查阅读器的动态。
这也会造成一个潜在的问题:使用者若太久不用阅读器,就会错过较早发布的文章,因为feed的更新范围有限。
5、web feed如何让阅读器得知网站的内容
目前主要的联合化规格,包括Rss 2.0、Atom 1.0等,都使用了xml技术。
6、Rss 2.0 VS Atom 1.0
这期这两种规格大同小异,只不过Atom 1.0在部分功能上比RSS 2.0更丰富、延伸性更强。但RSS 2.0的使用仍更为普遍,也满足一般blog、新闻的基本需求。
7、RSS 2.0格式介绍
第一行告诉浏览器这个是xml文件,编码为utf-8
<?xml version="1.0" encoding="utf-8" ?>
第二行指出这个xml文件使用RSS 2.0的格式(后面通常有一串网址,那是给设计者参考规格之来源文件用的)
<rss version="2.0">
接下来[channel]标签指出来源站的基本资料:
1 <channel> 2 <title>卡蘭坦斯蓋普恩基地</title> 3 <link>http://blog.yam.com/krantas</link> 4 <description>Blog of Alan Krantas - SW‧SF‧Reading‧Travel‧Life</description> 5 <language>zh-tw</language> 6 <generator>blog.yam.com</generator> 7 <copyright>All Rights Reserved</copyright> 8 ... 9 </channel>
紧接着包含在[channel]标签的则是[item]项目:
1 <item> 2 <title>丹‧西蒙斯:海柏利昂(與試閱)</title> 3 <description> 4 丹‧西蒙斯(Dan Simmons)的1989年重量級作品《海柏利昂》(Hyperion),中文版即將於11/1問世。 5 <br /> 6 <br /> 7 <img src="http://pics5.blog.yam.com/4/userfile/k/krantas/blog/1472190211b827.jpg" alt="" style="border-width: 0; float: left; margin: 0.7em 1.4em 0.7em 0;" /><br /> 8 </description> 9 <link>http://blog.yam.com/krantas/article/12289931</link> 10 <category>中譯科奇幻出版報導</category> 11 <pubDate>Fri, 26 Oct 2007 15:06:34 +0800</pubDate> 12 </item>
以blog来说,一个[项目]就是一篇文章、一项资料内容,有标题、描述、分类、网址、发布日期等等。阅读器抓的就是这些东西。
8、web feed的更新与输出方式
web feed文件产生方式大致有三种,一种是来源网站定期的读取资料库后产生一份新的文件;二是这个文件本身就是个程序(如asp、jsp等),在使用者读取时才动态抓取最新的文章。第三种是feed并不由来源网站提供,而是如FeedBurner等第三方以其他方式抓取而产生,让本身没提供feed的网站也能提供订阅。
阅读器之所以能指出哪些文章是新的,或者你尚未浏览过的,是因为阅读器帮你记录了站台的阅读历程。
9、可以选择web feed输出符合想要条件的内容吗
不可以,以为feed文件的产生,以及会抓取哪些文章是事先设计好的。一个wen feed通常会包含十到三十篇最新的内容,而这和在某些栏目会丢失什么样的资料,都有文件的产生网站或者程序设计者决定;如文章的描述可能是整篇文章的内容,也可能是一部分的摘要。
10、web feed和email的再次比较
由于web feed包含的篇幅数量有限,过旧的文章会从源网站的feed文件里消失;订阅者太久不开阅读器,就会因而错过了内容。相反,email就算没有收取,也会存储在使用者的邮箱空间之中,直到空间被塞满为止。