`
ayaya
  • 浏览: 449029 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

实现RSS的原理

阅读更多
RSS是在互联网上被广泛采用的内容包装和投递协议。网络用户可以在客户端借助于支持RSS的新闻工具软件,在不打开网站内容页面的情况下,阅读支持RSS输出的网站内容。
1.RSS文件结构

<?xml version="1.0" encoding="gb2312" ?> 
<rss version="2.0"> 
<channel> 
  <title>我的Blog</title>                  //channel的标题
  <description>与我自己的技术Blog相关联</description>    //channel的介绍
  <link>http://counter.csdn.net/pv.aspx?id=72</link>      //channel的url
  <item> 
  <title><!-- 项标题 --></title>            //item的标题
  <link><!-- 项 URL --></link>            //item的url
  <description><!-- 简要描述 --></description>         //item的介绍
  <!-- 可选的/可扩展的元素 -->         //item的其他属性,比如更新时间
  </item> 
  <item>
  <!-- 可多个<item>项目-->            //一个channel有多个item
  </item>
</channel>
</rss>


RSS是两级结构,第一级结构是channel,相当于blog系统中某人的blog,第二级结构是item,相当于blog中的文章。属性中最重要的是title、description和link,title是标题,description是介绍,link是与其相关的url。

2.RSS的使用

        有的网站提供了RSS自动发现机制,可以很方便地把RSS的URL添加到RSS阅读器中。如果没有自动发现,那么可以手动把RSS链接的URL添加到RSS阅读器中,这样就加入了一个用户订阅的频道。在RSS阅读器中可以更新频道列表或点击一个item链接打开该item的页面。

3.RSS的工作机制

       
内容提供者在其网站上添加RSS的链接,以提供RSS订阅功能,当打开这个链接时,传送过去了一些频道信息,比如:blog的作者名。

        一种做法是,RSS链接URL指向的是一个空内容的页面,该页面后台程序通过传过来的频道信息访问数据库,获取频道列表,用Response.Write向该空页面写出XML格式的文件。

        另一种做法是,RSS链接URL指向的是一个xml文件,该文件由服务器的程序事先生成好的,放在服务器上,访问时静态获取,服务器在作者每添加一个频道列表时自动更新该xml文件。

        第一种做法的优点是管理方便,因为不需要为每个频道生成xml文件,所有的RSS请求都由一个后台页面处理,接口统一,但每次访问RSS链接时,都要动态地写出RSS频道列表,访问效率相对较低,第二种做法的优点是访问时,只是返回一个静态的xml文件,不需要访问数据库来临时生成,所以访问效率相对较高,但每更新一次频道列表中的项时,就要自动地重新生成xml文件以保证RSS文件的最新,这样就降低了更新的效率。
分享到:
评论

相关推荐

    rss 阅读器实现原理

    NULL 博文链接:https://mojianpo.iteye.com/blog/1605094

    php实现的RSS生成类.zip

    主要介绍了php实现的RSS生成类,实例分析了RSS生成类的原理、定义与使用技巧,非常具有实用价值,需要的朋友可以参考下

    php实现的RSS生成类

    主要介绍了php实现的RSS生成类,实例分析了RSS生成类的原理、定义与使用技巧,非常具有实用价值

    RSS新闻阅读器的设计与实现.doc

    2.4 RSS的体系结构及工作原理 3 3 项目分析 6 3.1 可行性分析 6 3.2 需求分析 7 4 数据表设计 8 5 类的设计与编码实现 10 5.1 类设计 10 6 页面设计 12 6.1 用户登录界面 12 6.2 RSS Feed订阅界面 13 7 测试与...

    一款实现RSS解析器案例

    这是一款实现RSS解析器案例,该案例可以实现将XML数据直接解析成Objective-C 中的对象,原理很简单,是一款不错的RSS解析器,案例还将RSS内容(https://news.ycombinator.com/rss)转换成了对象,并且将对象的数据...

    php实现的RSS生成类实例

    主要介绍了php实现的RSS生成类,实例分析了RSS生成类的原理、定义与使用技巧,非常具有实用价值,需要的朋友可以参考下

    RSS 阅读器

    1. 熟悉SAX解析XML的原理; 2.掌握RSS语法; 3.学会在android里实现RSS阅读器。

    Android开发应用实战详解源代码

    5.12.1 实现原理 5.12.2 java i/o基本类库介绍 5.12.3 具体实现 5.13 获取file和cache的路径 5.14 wi-fi服务 5.14.1 wi-fi简介 5.14.2 实现原理 5.14.3 具体实现 5.15 获取sim卡内信息 5.15.1 sim卡简介 5.15.2 ...

    Spring攻略(第二版 中文高清版).part2

    9.3 发布RSS和Atom信息源 362 9.3.1 问题 362 9.3.2 解决方案 363 9.3.3 工作原理 363 9.4 用REST服务发布JSON 372 9.4.1 问题 372 9.4.2 解决方案 372 9.4.3 工作原理 372 9.5 访问具有复杂XML...

    Spring攻略(第二版 中文高清版).part1

    9.3 发布RSS和Atom信息源 362 9.3.1 问题 362 9.3.2 解决方案 363 9.3.3 工作原理 363 9.4 用REST服务发布JSON 372 9.4.1 问题 372 9.4.2 解决方案 372 9.4.3 工作原理 372 9.5 访问具有复杂XML...

    精通ASP.NET2.0典型模块设计与实现

    精通ASP.NET2.0典型模块设计与实现,涵盖ASP.NET开发时常用的基本功能模块的设计与实现,包括:用户登录功能、在线投票、RSS的实现及应用、在线编辑器的原理及实现、在线支付、文件的上传和下载、电子邮件的发送和...

    基于RESTful架构的RSS订阅服务

    介绍了快速获取信息和网站内容的最新更新的一种新技术——简易信息聚合技术(RSS)的基本原理和主要功能;分析了Windows Communication Foundation RESTful架构在资源调用、特定环境下服务集成、数据传输等方面的...

    ASP.NET2.0典型模块(17-22)ASP.NET2.0典型模块(1-16)

    RSS工具包 Microsoft提供的RSS工具组件 源代码\SimpleReader.aspx 简单RSS阅读器 源代码\ ComplexRSS.aspx 复杂RSS阅读器 &lt;br&gt;第6章(\C06) 示例描述:本章介绍了在线编辑器的原理及实现。...

    Ajax 与 PHP Web 开发

    还通过实例详细演示了ajax表单验证、ajax聊天室、ajax suggest、使用svg实现的ajax实时绘图程序、ajax grid、ajax rss阅读器和ajax拖放等的实现过程。同时还介绍了在windows和unix系统下的应用程序环境配置和相关...

    ASP.NET3.5典型模块开发源代码

    14.1.2 搜索引擎的实现原理 161 14.1.3 搜索引擎的相关技术 162 14.2 用第三方的API实现搜索 162 14.2.1 使用Google API 163 14.2.2 使用百度 API 164 14.3 小结 168 第15章 网站统计模块 169 15.1 ...

    论文研究-源程序在线评测系统技术改进.pdf

    应用黑盒测试原理,采用LAMP平台,使用Linux操作系统实时读取内核数据的proc文件系统、ptrace进程跟踪和高级管道操作,研制了更完善的源程序在线评测系统:程序运行时间最小限制可达1毫秒,实现了对RSS驻留内存的...

    ASP.NET2.0典型模块(1-16)

    RSS工具包 Microsoft提供的RSS工具组件 源代码\SimpleReader.aspx 简单RSS阅读器 源代码\ ComplexRSS.aspx 复杂RSS阅读器 &lt;br&gt;第6章(\C06) 示例描述:本章介绍了在线编辑器的原理及实现。...

    zxing.java源码解析-zxing-spring-boot-starter:兴

    实现 ZXing(“zebra crossing”)是一个支持多种格式的条形码和二维码图形解析的开源Java类库,同时它也提供了其他语言的接口。 解码时支持格式有:UPC-A、UPC-E、EAN-8、EAN-13、Code 39、Code 93、Code 128、ITF...

    深入理解Android网络编程技术详解与最佳实践(带书签目录高清完整版).陈文.郭依正.pdf

    不仅系统讲解了Android网络编程的各项核心技术和功能模块,通过多个案例解读了Android网络编程的方法和技巧,而且从源码角度深入解析了Android核心网络处理方法和关键应用的实现原理,包含大量最佳实践。  全书共11...

    自己动手写搜索引擎(罗刚著).doc

    5.1.3 中文分词的原理 92 5.1.4 查找词典算法 95 5.1.5 最大概率分词方法 98 5.1.6 新词发现 101 5.1.7 隐马尔可夫模型 102 5.2 语法解析树 104 5.3 文档排重 105 5.4 中文关键词提取 106 5.4.1 关键词提取的基本...

Global site tag (gtag.js) - Google Analytics