RSS应用现状以及我的一些想法
在这封邮件中,我将涉及如下内容:
•RSS实例列举
•RSS入门进阶
•我们可以做什么以及解决方案
[正文]
一、RSS实例列举
在介绍RSS概念之前我想先列举一些比较优秀的嵌入了RSS服务的站点:
(每项第一个网址是该网站对RSS的理解,第二个是该网站的一个真实RSS Feed)
1.新华网RSS聚合新闻
http://www.xinhuanet.com/rss.htm
http://rss.xinhuanet.com/rss/native.xml
2.百度新闻 RSS
http://news.baidu.com/rss/rss.html
http://news.baidu.com/n?cmd=4&class=civilnews&pn=1&tn=rss
3.Washington Post(华盛顿邮报)
http://www.washingtonpost.com/wp-adv/rss/
http://www.washingtonpost.com/wp-srv/topnews/rssheadlines.xml
4.博客中国
http://www.blogchina.com/xml/1_rss1.xml
5.中国XML论坛
http://bbs.xml.org.cn/index.asp
6.书香门第网络图书馆
http://www.bookhome.net/rss/all.xml
7.电子科技大学新闻中心 党委宣传部主办
http://www.news.uestc.edu.cn/RSS.aspx
其中“新华网RSS聚合新闻”我觉得做得最认真,很值得学习。重点推荐。
二、RSS入门进阶
1.什么样的东西是RSS
上述站点都对RSS有自己的理解和定义,这里用我的语言描述一下什么是RSS:
一个XML文件,在网站的首页有指向它的链接,通常是一个标记着“XML”或“RSS”得橙色小图标,在IE打开它时发现不是网页,而是一个有着树状段落标签结构的文本文件(很像HTML文件),文本内容能够直接看,但是夹在众多标签中显得很乱读起来很不方便。
问题是:它是干什么用的?怎么用?
2.RSS用途——订阅;阅读摘要列表
经过学习我认识到,RSS中记录了该网站最近更新的文章,包括标题、摘要和原网站上该文章的链接等。RSS本身是XML文档,它可以像HTML文件一样静态地存放在服务器上。用户无需从浏览器(比如IE)访问该网站的主页,只需直接连接这个RSS就可以收到该网站的最新内容了。这样做有几个好处,一个是用户可以躲开Web上天花乱坠的广告直接攫取精华信息,另一个是用户可以自己制定喜欢的频道分类,而不是被动接受某一个网站安排的频道分类。
[加深理解部分,初次阅读建议跳过,直接读3.]这里将遇到一对“推”和“拉”的概念,如果你了解流媒体技术相信对此不会感到陌生。打个比方,传统Web网站就好像一家书店,里面的图书琳琅满目,使用Web浏览的网民好像来买书的人,你浏览Web网站获取信息,就好比你逛书店买书。
有两种可能,一是你没有目标:你从最南边的一排书架走到最北边的一排书架,每本书都拿起来翻看简介、前言、目录、第一章,发现有一本单词手册不错,然后买了。另一种可能是你有目标《星火式英语4级单词手册》,你按照书架上的标记分类查找,或者叫书店服务生来告诉他书名请他帮你找一下这本书(Web搜索引擎)。找到了,买走。
但这两种都属于“拉”的范畴,因为你需要亲自去那家书店,这过程中你会收到许多无用的信息,比如你并不知道哪些书是新上架的,一路看过去发现很多都是陈年旧货和垃圾,或者你并不确定地清楚你所要找的书书名是什么,一位热情耐心高效但并不太善解人意的服务生在几秒钟内帮你找来一大堆书,然后你翻翻这本又翻翻那本却发现没有一本是你想要的。这是客户端从服务器“拉”信息的无奈。
相对的概念是“推”。沿用书店的例子,为了让买书的人来这家书店买书,书店提供了新的免费“订阅”服务:定期把书店新到的书的书目清单打印好邮寄到客户家中,清单上包括每本新书的标题、简介、在书店的编号,清单非常干净,没有广告,并且允许你订阅某一类的新书清单,比如你只关注新出版的流媒体技术方面的书,而对都市言情小说毫无兴趣,那你可以只订阅“信息与计算机技术”类新书清单。新书清单可以算是从服务器“推”给客户端的一种服务。RSS就很像新书清单。
3.RSS打开方式——RSS阅读解决方案
•最正经的方案是专门的RSS阅读器,一个软件,和用FoxMail管理你的邮箱类似。他负责管理你的众多RSS Feed,可以自定义频道组,添加新频道,在友好的界面中阅读。这类软件很多,我曾用过“看天下新闻阅读器”,这在国内同类软件中算比较早的一个;免费。目前我正在用FeedDemon1.5,管理频道功能更卓越,支持标准更全,在RSS用户群众口碑不错;共享版,有keygen;此外他还自带了很多国外Feed,常有机会上外网的尤其推荐。
水木上有位牛人,使用Outlook阅读RSS,感觉很酷,可惜我机器上没有装.NET环境,运行不了他那个版本的Outlook。
•我认为比较能让人接受的方式是这种:浏览器自带RSS阅读功能。在Web浏览的同时让人再开一个应用程序看RSS,似乎有些过于前卫。我这个寒假找到了一个折衷的办法:使用Maxthon网页浏览器,像很多人在用的MyIE一样,它基于IE内核,此外Maxthon有很多功能,包括RSS阅读与管理,界面紧凑,频道管理功能不逊于正经的RSS阅读软件。如果近期要我去做RSS推广,我会力推Maxthon。
4.[选读]RSS比较优势
•也许很多人会想到常见的Web网站上的“最近更新”公告。我认为RSS和他有着本质区别。理由有三:
第一,Web上的更新公告限于版面限制,最多提供标题和链接,没有摘要,或者只提供一到两条新文章的摘要。搞过Web策划或平面设计的人都知道“协调整洁性与信息量这对矛盾”是一件很头疼的事。RSS可以从Web上独立出来,不去和广告、Logo、Banner、导航分类等Web元素抢地盘,扮作一个通用的XML橙色小图标静静的首在一个角落,等着聪明的人来点击。
第二,公告中往往包括一些站务和声明(用户往往对这些不感兴趣),将“最近更新”这个用户关心的东西混杂在里面,表明还不够为用户着想。
第三,用户不能制定自己的频道分类,通过管理收藏夹来实现自定义频道分类的想法有些不理智,因为同时开十几个漫布着广告的Web浏览器进程(或线程)的做法,对于带宽在上网高峰时期紧张、客户端PC内存不够大的现实条件下,有些野蛮。而一个RSS文件本身只是5Kb到10Kb的文本,使用一个200Kb的Flash广告传输的带宽和内存占用,就可以获取20多家网站最新的关键内容:摘要列表。
•与订阅电子邮件比较。
考虑时时更新,Email订阅会给网络存储造成负担。而且过期的更新列表毫无价值,存在就是浪费。所以最新列表保持唯一,存放在服务器端,用户需要时用HTTP协议传输。(有人根据这一点否认RSS使用“推”技术,我认为太学究了没意义,说到底Internet的网络拓扑结构不是对等网,没有客户端请求包过来服务器不可能主动发数据包给客户端,因此绝对的“推”技术不存在。)
5.[选读]RSS发源与标准之争
这段文字资料摘自“硅谷动力网”:
那么RSS究竟代表什么呢?比较普遍的有两种说法,一种是“Rich Site Summary”或“RDF Site Summary”,另一种是“Really Simple Syndication”,之所以有这些分歧,需要从RSS发展的历史说起。
最初的0.90版本RSS是由Netscape公司设计的,目的是用来建立一个整合了各主要新闻站点内容的门户,但是0.90版本的RSS规范过于复杂,而一个简化的RSS 0.91版本也随着Netscape公司对该项目的放弃而于2000年暂停。
不久,一家专门从事博客写作软件开发的公司UserLand接手了RSS 0.91版本的发展,并把它作为其博客写作软件的基础功能之一继续开发,逐步推出了0.92、0.93和0.94版本。随着网络博客的流行,RSS作为一种基本的功能也被越来越多的网站和博客软件支持。
在UserLand公司接手并不断开发RSS的同时,很多的专业人士认识到需要通过一个第三方、非商业的组织,把RSS发展成为一个通用的规范,并进一步标准化。于是2001年一个联合小组在0.90版本RSS的开发原则下,以W3C新一代的语义网技术RDF(Resource Description Framework)为基础,对RSS进行了重新定义,发布RSS1.0,并将RSS定义为“RDF Site Summary”。但是这项工作没有与UserLand公司进行有效的沟通,UserLand公司也不承认RSS 1.0的有效性,并坚持按照自己的设想进一步开发出RSS的后续版本,到2002年9月发布了最新版本RSS 2.0,UserLand公司将RSS定义为“Really Simple Syndication”。
目前RSS已经分化为RSS 0.9x/2.0和RSS 1.0两个阵营,由于分歧的存在和RSS 0.9x/2.0的广泛应用现状,RSS 1.0还没有成为标准化组织的真正标准。
[引用结束]
好在3.中提到的两个解决方案对这两个标准(1.0/2.0)都有很好的支持。
6.聚合的概念——Feed的集合
聚合的元素是Feed,我理解Feed的含义就是RSS的实体。这里只是语义上的区分。RSS通常指技术本身,更多的时候是作为一个抽象了的概念被人们说来说去。Feed是RSS的XML文件本身。我们在RSS阅读器中添加的具体频道,网址就是Feed。
将多个Feed分成一类,定为一个频道组,就是我理解的聚合。聚合后的Feeds可以导出列表,通用扩展名为opml(Outline Processor Markup Language)。可以用来备份或共享你的RSS资源,类似于导出你邮箱的通讯簿为csv文件。
7.RSS应用领域拓展
现在RSS应用集中在两类服务上:提供新闻和Blog深度交流。
此外有些专业论坛比如XMLcn论坛,对论坛每个板块提供了RSS订阅。
可见知识含量、时效信息价值比较高,更新周期不长于为天的网站适合提供RSS服务。
在众多高校内部的新闻网站中,RSS的应用几乎是空白。“电子科技大学新闻中心”提供RSS,但是做得并不认真,看得出只是在尝试时尚技术,并没打算作为一种服务提供。从这一点引出我的一些想法,在“三、”中展开。
此外今天下午我用RSS阅读新闻,从新华网上看到这样一则消息:
首款移动RSS信息聚合器上线
本报讯(及成记者安莉)日前,西安交大通达新技术发展有限责任公司,在手机风彩网wap.51tone.com网站上开发出全球首款移动RSS(信息聚合器)。与传统搜索引擎式的信息收集方式比较,RSS技术是完全按照用户的主观意愿、通过用户关心的专题或关键字表达,把大量散乱分布的所需信息自动汇总并“推送”至手机,只要手机在线,就会立即看到按照自己意愿分类的最新、最快的订制信息,还可不断地刷新内容,使手机用户能够随时获取最新推送来的RSS信息。
[引用结束]
可见移动终端用户也将是RSS应用的受众。这又让我想起前些天看《电脑报》,讲述摩根脑死亡PC发展饱和移动通讯将在本世纪领跑IT业的评论文章,很受触动。RSS之所以能够被手机用户访问因为它遵从XML规范,而手机的WML也遵从XML规范,整合的工作非常容易。我想这就是W3C的初衷吧。
三、我们能做什么
1.作为STV一分子,我想——
•在学生清华视频媒体页面添加RSS新闻链接。理由:
第一:方便同学们查看STV动向与近期更新的节目。
如果大家使用RSS会不会降低Web访问量?我认为不会,首先RSS是人性化的、注重实效的现代理念,相信会受到广大同学的欢迎,如果我们在校园网率先推出RSS频道,会吸引很多目光,从而提高网站访问总量,其次RSS只是标题列表+摘要,全文阅读还要链接回Web页面,尤其是我们视频点播,只能从Web点击链接打开流。因此RSS不仅不会降低Web访问量,反而对之有所提高。
第二:营造校园网整洁、高效的环境。
信息冗余小,信噪比高,推行RSS理念符合校园人文精神。
我们STV率先提供相对前卫的RSS服务,也是学生网络电视充满生机活力、有一定技术实力并且真心为广大同学服务的象征和标志。
2.我目前能想到的技术解决方案
最偷懒的办法是去找学生清华门户网站开发维护团队,请他们修改一下整个网站源程序,增设RSS频道链接。这几乎不需要什么工作量,代码实现非常简单。
如果我们STV自己有足够权限,通过管理面板的“编辑页面”选项(就是欧阳俊涛和梁昊告诫我们说不要去点的那个),也许能够自行完成RSS服务的服务器端工作,我没敢试过,所以想请示一下,允许我去试一试,我会很小心很谨慎的。
如果没有那么大的页面管理权限,我可以提供代码实现的思路(我寒假时候已经在ASP环境下代码实现过两种思路)。
第一种:在每次添加、编辑新文章时,必定要更新数据库,在更新数据库的子程序(或函数)部分,增加一段代码,读取文章表中最新几篇文章,用SQL语句非常直白:“SELECT TOP 15 * FROM 文章表 ORDER BY 修改时间字段 DESC”。然后直接在服务器上输出文本流(FSO),生成符合RSS标准(1.0/2.0)的XML文档。Web链接指向此静态rss.xml文件即可。
第二种:不改源程序,增加新asp文件,比如叫rss.asp,从数据库中读取最新几篇文章,直接以http流传送给客户端,不在服务器上生成静态xml文件。
比较二者,
第一种要占服务器几个Kb的空间,但是用户请求静态页面xml,处理起来显然比asp快。例如“一、”中:新华网、博客中国。
第二种要增加更多的服务器运算负担,但是能够避免服务器硬盘文件冗余。例如“一、”中:电子科技大、百度。
我偏好第一种。
3.结束语
RSS目前方兴未艾,用户群与日俱增。我们没有理由不相信,在未来的几年内,RSS将迅速普及,以至和Web一样深入人心,妇孺皆知。
现在我们已经认识了RSS这一新事物,并且发现它是个好东西,而且尝试、实现它并没有什么成本。
我希望,STV高层能够考虑——在学生清华视频媒体增设RSS频道订阅服务——这件事。
4月16日 网络部 王元涛