讨论与Blog相关的技术,不可不谈的就是RSS,这个缩写在英文中可以有几个源头,并被不同的技术团体做不同的解释。既可以是“Rich Site Summary”,或“RDF Site Summary”,也可以是“Really Simple Syndication”。为什么有这么多含义呢?这还要从RSS的一段今天也没有理清的关系说起。
今天肯定有人还记得IE 4刚刚推出来的时候有一个有趣的功能,那就是新闻频道。这个新闻频道的功能与Netscape推出的新闻频道是很相似的(当时Netscape还是市场上领先的浏览器)。为此Netscape 定义了一套描述新闻频道的语言,这就是RSS,只不过Netscape自当时起每况愈下,所以最终也没有发布一个正式的RSS规范(只发布了一个0.9版本)。而微软也在当时推出了支持自己IE的CDF(Channel Definition Format)数据规格,与RSS非常接近。微软试图用新闻频道的功能把“推”(Push)技术变成一个应用主流,并与Netscape抗衡。不过出乎预测的是,“推”技术自始至终没有找到合适的商业模型,而且伴随着其他各类网络特性的出现,也日益无法显现自身的优势。新闻频道在浏览器中的地位最终日暮西山,最后也在IE的后续版本中消失了。
新闻频道的确进入了低谷,但是RSS并没有被业界人士所抛弃。过去两年,Blog从一个专业群体开始,逐步成为了网络上最热门的新话题。而RSS成为了描述Blog主题和更新信息的最基本方法。于是RSS这项技术被著名Blogger/Geek戴夫·温那(Dave Winner)的公司UserLand所接手,继续开发新的版本,以适应新的网络应用需要。新的网络应用就是Blog,因为戴夫·温那的努力,RSS升级到了0.91版,然后达到了0.92版,随后在各种Blog工具中得到了应用,并被众多的专业新闻站点所支持。在广泛的应用过程中,众多的专业人士认识到需要组织起来,把RSS发展成为一个通用的规范,并进一步标准化。一个联合小组根据W3C新一代的语义网技术RDF对RSS进行了重新定义,发布了RSS 1.0,并把RSS定义为“RDF Site Summary”。这项工作并没有与戴夫·温那进行有效的沟通,而戴夫则坚持在自己设想的方向上进一步开发RSS的后续版本,也并不承认RSS 1.0的有效性。RSS由此开始分化形成了RSS 0.9x/2.0和RSS 1.0两个阵营,也由此引起了在专业人群中的广泛争论。
因为争论的存在,一直到今天,RSS 1.0还没有成为标准化组织的真正标准。而戴夫·温那却在2002年9月独自把RSS升级到了2.0版本,其中的定义完全是全新的模式,并没有任何RSS 1.0的影子。这引发了网络上进一步争议,究竟让一个越来越普及的数据格式成为一个开放的标准,还是被一家公司所定义和控制,成为了争议的焦点。戴夫·温那并没有为自己辩解,他的观点是RSS还需要进一步发展,需要专业人士更明确的定义,不过恐怕这种轻描淡写不能消除人们对RSS“被一家商业公司独占”的担心。
前面的铺垫对用户来说也许没有什么太大的意义,可能更多人关心如何在自己的Blog增加RSS输出,这样可以让很多新闻聚合工具(例如CNBlog刚刚推荐的NewzCrawler)很容易找到你并自动获得你在Blog中的更新内容。
所以我们会在后面的系列文章中逐步增加对RSS工具的介绍,以及如何在你的Blog中添加RSS输出格式和相关的标志链接。等不及的用户,可以先到我的个人站点上的一个临时链接地方尝试起来了,我提供了一个简单的RSS生成工具和相关的介绍(对Blogger.com工具最佳,其他工具还没有做测试)。
(未完待续)
===========
P.S. goghs 的一个留言,供大家参考,普通用户大可以跳过:
“关于RSS两个标准之争前段时间确实很激烈,很多局内人士被迫翻出了陈年老帐。有些争论甚至到了攻击的地步。跑开情感因素不论,作为一个完全的局外人,我个人是比较偏向于0.9x/2.0 (具体就是0.91 -> 0.92 -> 0.94 -> 2.0)的。1.0将rdf的命名空间重新加入了RSS,这有它的意义。但是从RSS使用的领域,至少是现在的使用目的而言,1.0标准显得过重了。相比之下2.0更简单更实用一点。
至于说一家公司控制标准的问题,其实从一开始RSS就处在这种状况之下,如果你认为它是被控制的话,从一开始就被控制了,即使在Netscape的年代。作为一个开放标准,这种控制并未对用户形成什么危险。 其实1.0背后也是一家公司,知名的O'Reilly。
从既有资源而言,0.9x系列占有压倒优势,我想2.0会作为当然的既得利益者,继续占有统治位置。
但是对于一个开发者来说,可能这种争论更容易被调和,因为你可以同时支持他们,甚至包括以前所有的标准。
这涉及两个方面:
1. source:
你可以生成两个版本,分别符合1.0和2.0规范。
或者你可以生成一个XML源,然后使用XSL/XSLT转换成1.0/2.0格式。
2. aggregator:
对不同的格式分别使用不同的解析。
当然,我希望最终还是能够互相妥协,只保留一个标准。不过这也许很难,因为这在计算机领域是最不常见的一件事。不管是公司之间,还是业余开发之间,都不容易达到一致。”
Isaac: goghs的留言很好,算是对这场标准的争论的一个补充吧。大家可能会奇怪,这种争论会不会对Blog的发展产生不利的影响。照我说,不一定,很可能是促进作用更多一些。不像最近国内的某些争吵,吵来吵去其实伤害了发展和进步。另外,从技术开发上来说,我也非常支持0.92系列的简易性,把新浪新闻变成RSS 0.92并导入NewzCrawler 就是一个10分钟的工作,而RDF相对麻烦一点,当然也不过是处理一些额外的命名空间而已。但是从整体来说,Sementic Web(语义网)也需要大家的通力支持才能够有更好的未来,而作为承载语义网的一个重要部分,RDF应当被有责任感的人们所推动。不过我还是要承认RDF应用到RSS中还为时过早。
转贴自:http://www.cnblog.org/blog/archives/2002_10_20_cnblog_archive.html#83274205