开始来学习RSS是什么玩意,系统的看下吧
RSS(也叫聚合内容,Really Simple Syndication)是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。个人认为,它就是资源共享模式的延伸。
RSS是一种起源于网景的推技术,将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个:Really Simple Syndication、RDF (Resource Description Framework) Site Summary、Rich Site Summary。但其实这三个解释都是指同一种Syndication的技术。RSS目前广泛用于网上新闻频道,blog和wiki,主要的版本有0.91, 1.0, 2.0。
RSS的故事
今天肯定有人还记得IE4刚刚推出来的时候有一个有趣的功能,那就是新闻频道。这个新闻频道的功能与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“被一家商业公司独占”的担心。
RSS可以干什么
订阅BLOG(你可以订阅你工作中所需的技术文章;也可以订阅与你有共同爱好的作者的Blog,总之,你对什么感兴趣你就可以订什么);
订阅新闻(无论是奇闻怪事、明星消息、体坛风云,只要你想知道的,都可以订阅)。
你再也不用一个网站一个网站,一个网页一个网页去逛了。只要这将你需要的内容订阅在一个RSS阅读器中,这些内容就会自动出现你的阅读器里,你也不必为了一个急切想知道的消息而不断的刷新网页,因为一旦有了更新,RSS阅读器就会自己通知你!
RSS的语法介绍
一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀。
XML代码:
<?xml version="1.0" encoding="utf-8" ?> <!-- 声明当前文件为xml文档【必】 --> <rss version="2.0"> <!-- 声明当前文件内容为rss格式文件,属性version(必须)指定当前rss版本【必】 --> <channel> <!-- 固有节点【必】 --> <title>新闻中心-国内焦点新闻</title> <!-- 对网站和当前RSS 文件的简短描述【必】 --> <image><!-- 为当前RSS添加图片 --> <title>新闻中心-国内焦点</title> <!-- 图片标题对图片的简单描述 --> <link>http://news.sina.com.cn/china</link> <!-- 网站链接地址 --> <url>http://image2.sina.com.cn/dy/gn/in10.jpg</url> <!-- 图片的链接地址 --> </image> <description>国内焦点新闻列表</description> <!-- 对当前RSS文件的描述【必】 --> <link>.....</link> <!-- 网站主页链接【必】 --> <language>zh-cn</language> <!-- 当前RSS使用的语言 --> <generator>WWW.SINA.COM.CN</generator> <!-- 当RSS文件为自动创建时多存在此节点(RSS文件由什么创建) --> <ttl>5</ttl> <!-- (ttl = time to live) 在刷新前当前RSS在cache中可以保存多长时间(分钟) --> <copyright>Copyright 1996 - 2005 SINA Inc. All Rights Reserved</copyright> <!-- 声明版权 --> <pubDate>Wed, 26 Apr 2006 01:45:05 GMT</pubDate> <!-- 当前RSS最后发布的时间 --> <category /> <!-- 声明当前RSS内容的种类 --> <item><!-- 一条信息 --> <title>一条信息的名字</title> <link>...</link> <author>新闻作者</author> <guid>http://news.sina.com.cn/c/l/2006-04-26/08029720281.shtml</guid> <!-- guid>GUID=Globally Unique Identifier 为当前新闻指定一个全球唯一标示 --> <category>新闻种类</category> <pubDate>Wed, 26 Apr 2006 00:02:53 GMT</pubDate> <!-- 新闻最后发布时间 --> <comments /> <!-- 新闻注释 --> <description>新华网沈阳4月25日电 (记者 杨维汉、范春生) 最高人民检察院常务副检察长张耕说....</description> <!-- 新闻的简单描述【必】 --> </item> </channel> </rss>
第一行声明当前文件是xml文档
第二行声明当前文件内容为rss格式文件,属性version(必须)指定当前rss版本为2.0。
<channel>:节点为Rss文档的固有节点,必须,无属性。
<item>:节点中即纪录了当前RSSFeed中要显示的内容。一个RSS文件中通常包含多个<item>节点;
<channel>:节点(必须节点);
<title>:对网站和当前RSS文件的简短描述;
<link>:网站主页链接;
<description>:对当前RSS文件的描述(可选节点);
<image>:为当前RSS添加图片;
<language>:当前RSS使用的语言;
<generator>:当RSS文件为自动创建时多存在此节点(RSS文件由什么创建);
<ttl>(ttl=timetolive)在刷新前当前RSS在cache中可以保存多长时间(分钟);
<copyright>:声明版权;
<pubDate>:当前RSS最后发布的时间;
<category>:声明当前RSS内容的种类;
<item>:节点;
<item>:纪录一条信息(新闻),只包含这条新闻的简单信息,一个RSS文件中包含几条新闻就会有几个<item>(必须节点);
<title>:新闻标题;
<link>:新闻链接;
<description>:新闻的简单描述(可选节点);
<author>:当前新闻的作者;
<guid>:GUID=GloballyUniqueIdentifier为当前新闻指定一个全球唯一标示;
<category>:当前新闻的类别;
<pubDate>:当前新闻的最后发布时间;
<comments>:当前新闻的注释。
扩展资料:http://cyber.harvard.edu/rss/rss.html