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就算没有收取,也会存储在使用者的邮箱空间之中,直到空间被塞满为止。

 

posted @ 2014-01-18 15:18  未知  阅读(1516)  评论(0编辑  收藏  举报