RSS 2.0规范
什么是RSS?
它是什么:站点用来和其他站点之间共享内容的简易方式(也叫聚合内容)。 RSS使用XML作为彼此共享内容的标准方式。
它代表什么:Really Simple Syndication (或RDF Site Summary,RDF站点摘要)
例如:一些免费的软件能够让你阅读那些RSS使能的站点,比如 NewsIsFree 和 Amphetadesk。
它有什么用处:让别人容易的发现你已经更新了你的站点,让人们很容易的追踪他们阅读的所有weblogs。
RSS 2.0规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)
RSS 基于XML,所有的 RSS 必须遵循w3c网站上公布的XML 1.0 规范。
在一个RSS文档中,根元素是<rss>,带有一个必备属性version,用以指明该文档遵循的rss规范,如果rss文档遵循本规范,则version值必须是2.0。
<rss>元素只有一个子元素,包含关于频道的一些信息。频道(channel)是整个blog,项(item)指一篇文章或日志(也有称这为post)。
RSS2.0元素channel的子元素列表
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
title | 频道名称 | 必备 | GoUpstate.com News Headlines | |
link | 频道的URL | 必备 | http://www.goupstate.com/ | |
Description | 频道的描述 | 必备 | The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site. | |
language | 频道文章所用语言, | 可用netscape或w3c推荐的列表 | 可选 | en-us |
copyright | 频道内容的版权说明 | 可选 | Copyright 2002, Spartanburg Herald-Journal | |
managingEditor | 责任编辑的email | 可选 | geo@herald.com (George Matesky) | |
webMaster | 负责频道技术事务的网站管理员email | 可选 | betty@herald.com (Betty Guernsey) | |
pubDate | 频道内容发布日期,格式遵循RFC822格式(年份可为2们或4位) | 可选 | Sat, 07 Sep 2002 00:00:01 GMT | |
lastBuildDate | 频道内容最后的修改日期 | 可选 | Sat, 07 Sep 2002 09:42:31 GMT | |
category | 指定频道所属的一个或几个类别 | 可选 | <category>Newspapers</category> | |
generator | 生成该频道的程序名 | 可选 | MightyInHouse Content System v2.3 | |
docs | 指向该RSS文件所用格式说明的URL | 可选 | http://blogs.law.harvard.edu/tech/rss | |
cloud | Allows processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for RSS feeds. More info here. | 可选 | <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/> | |
ttl | 有效期,用以指明该频道可被缓存的最长时间 | 分钟为单位 | 可选 | <ttl>60</ttl> |
image | 指定一个 GIF或JPEG或PNG图片,用以与频道一起显示 | 可选 | ||
rating | 这个频道的分级(主要指成人、限制、儿童等) | 可选 | ||
textInput | 指定一个text输入框供用户输入,具体信息及功能未定。 | 可选 | ||
skipHours | 提示新闻聚合器,那些小时时段它可以跳过。 | 可选 | ||
skipDays | 提示新闻聚合器,那些天它可以跳过。 | 可选 |
RSS2.0元素channel的子元素image的子元素列表
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
url | 图片的url | 必备 | ||
title | 图片的标题,用于http的alt属性 | 必备 | ||
link | 网站的url(实际中常以频道的url代替) | 必备 | ||
width | 图片的宽度(象素为单位) | 最大144,默认88 | 可选 | |
height | 图片的高度(象素为单位) | 最大400,默认31 | 可选 | |
description | 用于link的title属性 | 可选 |
RSS2.0元素channel的子元素cloud的子元素列表
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
domain | Cloud程序所在机器的域名或IP地址 | radio.xmlstoragesystem.com | ||
port | 访问clound程序所通过的端口 | 80 | ||
path | 程序所在路径(不一定是真实路径) | /RPC2 | ||
registerProcedure | 注册的可提供的服务或过程 | xmlStorageSystem.rssPleaseNotify | ||
protocol | 协议 | xml-rpc, soap , http-post 之一 | xml-rpc |
RSS2.0元素channel的子元素textInput的子元素列表
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
title | Submit按钮的标签 | 必备 | ||
description | 解释text输入区 | 必备 | ||
name | Text area对象的名字 | 必备 | ||
link | 处理提交的请求的cgi程序 | 必备 |
说明:
rss2.0要求<link>和<url>的值的非常部分开头,须是在IANA注册过的,如http://或https://或ftp://等。
一个rss文件中,可以包括没有这儿定义的元素,只要它是在某个命名空间被定义过。
一个常见问题是
RSS名称丰富含义的由来
讨论与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使肵ML作为彼此共享内容的标准方式。
它代表什么:Really Simple Syndication (或RDF Site Summary,RDF站点摘要)
例如:一些免费的软件能够让你阅读那些RSS使能的站点,比如 NewsIsFree 和 Amphetadesk。
它有什么用处:让别人容易的发现你已经更新了你的站点,让人们很容易的追踪他们阅读的所有weblogs。