转载自:

https://blog.csdn.net/zhao1949/article/details/52806123

(本文对读者有帮助的话请移步支持原作者)

内容记录:

在C++技术网开通了RSS功能后,问题也就随之而来了。问题就是,RSS是什么鬼,RSS怎么玩,RSS有什么用,RSS原理又是什么样的。。。
    好吧,既然问题这么多,那么就专门写一篇文章介绍一下吧。
    官方的介绍,请参考百度百科:RSS词条
    不过,看完这个官方的介绍,什么鬼,还是稀里糊涂的。还是让我来细细说说吧。
    我们平常在网上看各种各样的网站,浏览到不错的网站时,比如C++技术网时,觉得里面的文章很不错。并且网站每天都更新很多不错的文章,那么你想看的话,就要每天百度输入“C++技术网”或者“C++学习网站”,都在第一个出现。如果你有心,然后记住了网址是www.cjjjs.cn,聪明的呢就知道这个网站名称的拼音首字母哦。
    好了,这样你就锁定了一个网站了。C++技术网是一个技术网站,除了学习技术和了解项目经验外,你可能对游戏比较感兴趣,所以也会访问一些不错的游戏网站,而且那个游戏网站也每天更新或者不定期更新一些游戏玩法教程,很不错。
    还有,你也喜欢摄影,买了专业的照相机,但是不太会玩。所以你又找到一个不错的网站,经常更新相机的玩法。依次类推,一个人关注的东西会很多,然后很多不错的网站哦。
    现在你怎么做,在每天可以快速看完更新的文章,学到不错的东西,又节省时间呢?最原始的是把这些网站都加入到浏览器的收藏夹里,然后每天可以挨个的点开,进入网站的首页,然后找最新的翻。如果某个网站布局不合理,没有提供最新更新的文章列表,你还得多几个步骤。那么网站多了,这样就很耗时了。
    加入收藏夹和网址导航差不多。别以为网址导航可以搞定这个问题。那么此时就出现了这个需求了。要高效浏览很多你想浏览的文章内容,而尽可能少一些操作。

那么此时RSS就出现了。RSS可以实现让你只要订阅了一个网站,那么这网站更新的内容,你不需要进入网站就可以知道网站更新了哪些文章,然后直接选择性的阅读。这样是不是很高效了。我们看看效果图吧:

【RSS自动开始获取网站的内容中】

【RSS自动获取网站最新内容完毕,列出最新文章列表】

从上面两个图中,我们可以看到,在列出的一个文章列表中,我们选择我们感兴趣的看看,点一下文章标题,就直接进入这个网页阅读了。这样就省去了在百度输入“C++学习网站”或者“C++技术网”就可以直达想看的文章了。你说这样快不快?!你可以看到,我们在浏览器订阅的RSS,也可以收藏夹的东西一样,占有一项,不过当你单击这个RSS项后,浏览器就启动RSS获取内容的过程了。获取了内容后,就列出了文章列表,和上面的图一样的效果。
    我想,看到这里,你很清楚RSS是什么了吧。就是这么一个提高你阅读效率的东西。所以多个网站的最新内容,你只要在浏览器收藏栏里点一下就可以看到了。
    那么RSS怎么玩呢?以前谷歌有一个RSS阅读器,你加入了RSS订阅之后,需要的时候可以更新最新的文章列表,然后在阅读器里阅读即可。不过谷歌不支持RSS阅读器了。现在就用浏览器RSS的功能吧。一些RSS阅读器功能都很弱,还不如浏览器玩的爽。
    以上是从小白的角度来解释了RSS。那么RSS怎么玩呢?在支持RSS的网站里,会提供一个RSS的链接,链接的目标就是一个RSS文件,大多数格式是xml,如C++技术网的RSS链接地址为:http://www.cjjjs.cn/webinfo/rss.xml。那么你只要点击一下这个RSS链接,浏览器自然就打开了xml文件,这个和超链接是一个道理,你可以点击进去看看效果。

如果你的浏览器支持RSS功能,就会出现这样的界面:

【火狐浏览器支持订阅RSS效果图】

然后你点击一下“立即订阅”按钮,这样浏览器就把这个RSS的xml路径添加到收藏夹里了。你只要单击一下收藏夹里的RSS链接,就可以看到最新文章列表。如果你的浏览器不支持RSS订阅时,你就看到下面这个效果:

【Edge浏览器不支持订阅RSS的效果图】

RSS有什么用,怎么玩,你也都知道了。那么我们现在开始仔细的说说RSS的本质。因为我手动实现了RSS的功能,所以也很清楚咯。不支持RSS功能的刚好也就把RSS的文章列表的xml文件内容直白的显示出来了。RSS就是通过xml等格式的文件来定义的一种文件格式,并在服务器端和客户端形成一个协议,支持RSS的客户端,根据协议来解析RSS这个xml文件,然后列出xml文件中列出的文章列表,每一个文章有一个标题、简介和地址,支持RSS功能的客户端就可以将这个xml文件显示成了一个文章列表,可以直接在收藏夹栏里列出来,或者直接显示在网页里。而服务器端则要保证,提供的xml文件要根据协议的格式写,并且要将最新的文章信息写入到这个xml文件里,供客户端来读取,服务器端就提供一个RSS订阅的xml文件的地址,这个xml文件就是订阅RSS链接点击后下载的文件。
    所以,支持RSS的浏览器或者RSS阅读器都是按照协议自动获取这个xml文件,然后按照RSS协议解析这个xml文件,呈现文章列表。不支持的就不懂RSS这个协议了,也就直接显示xml文件内容了。
    那么RSS确实提高了我们阅读文章的效率了。如果网站提供的RSS直接把文章的内容放在xml文件里,这样RSS阅读器就可以直接显示内容了。不过直接将内容放在xml文件里,会导致xml文件比较大,而且图片显示就不太好了。而且格式排版都会受到影响,所以只是读取文本内容且不考虑xml文件的体积的话,可以将内容直接放在xml文件里,供RSS阅读器获取。
    好了,说了这么详细,再不懂RSS都难了。对于官方的名词解释和发展历史,就看最开始的百度百科的解释吧。

转载至此完毕。

转载自:

https://blog.csdn.net/zhao1949/article/details/52806123

(本文对读者有帮助的话请移步支持原作者)

关于rss的内容(转载)的更多相关文章

  1. HTML和css面试题:内容转载

    1.常见的块级元素 内联元素 div -最常用的块级元素 dl - 和dt-dd 搭配使用的块级元素 form - 交互表单 h1 -h6- 大标题 hr - 水平分隔线 ol – 有序列表 p - ...

  2. QQ登入(4)QQ分享-内容转载

    ///////////////////QQ分享///////////// public void myclick3(View v){ //shareType : SHARE_TO_QQ_TYPE_IM ...

  3. PHPcurl抓取AJAX异步内容(转载)

    PHPcurl抓取AJAX异步内容 其实抓ajax异步内容的页面和抓普通的页面区别不大.ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参 ...

  4. springboot获取properties文件的配置内容(转载)

    1.使用@Value注解读取读取properties配置文件时,默认读取的是application.properties. application.properties: demo.name=Name ...

  5. debian9 安装 odoo11 笔记用 部分内容转载前辈的,在此感谢

    1先创建个odoo用户 sudo adduser odoo 2:给root 权限: sudo vi /etc/sudoers 修改文件参考如下: # User privilege specificat ...

  6. 用python 写一个nagios插件 监控http内容(转载)

     nagios自带的http-check插件主要是检测地址url是否可以访问,在web+中间件的架构中容易出现url能访问,但是后台中间件拓机的情况,因为最近在自学python,所以写了个脚本检测ur ...

  7. 用Notepad++在文本文件里快速在每行头尾都加上指定的内容(转载)

  8. 多线程基础(主要内容转载于https://segmentfault.com/a/1190000014428190)

    进程作为资源分配的基本单位 线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径).是程序使用CPU的最基本单位. 线程有3个基本状态: 执行.就绪.阻塞 ...

  9. 做个简单的RSS订阅(ASP.NET Core),节省自己的时间

    0x01 前言 因为每天上下班路上,午休前,都是看看新闻,但是种类繁多,又要自己找感兴趣的,所以肯定会耗费不少时间. 虽说现在有很多软件也可以订阅一些自己喜欢的新闻,要安装到手机,还是挺麻烦的.所以就 ...

随机推荐

  1. mongdb 使用聚合函数异常

    异常信息: Command execution failed:  Error [The 'cursor' option is required, except for aggregate with t ...

  2. PAT甲级——A1008 Elevator

    The highest building in our city has only one elevator. A request list is made up with N positive nu ...

  3. Django 连接MySQL的驱动设置

    对于在Django 中连接MySQL 的驱动,有以下三种: 1) mysqlclient 2) mysql-connector-python 3) pymysql (建议:这个包已经有一年未升级了,本 ...

  4. Ajax请求参数传到后台为空

    1.编码格式 $.ajax({ method:'POST', url:'/midservice/studentAction/addStudent', data:$.toJSON(userDate), ...

  5. 2019-2-13-Latex-论文elsevier,手把手如何用Latex写论文

    title author date CreateTime categories Latex 论文elsevier,手把手如何用Latex写论文 lindexi 2019-02-13 10:38:20 ...

  6. js中call、apply、bind的区别和应用

    一.总体概述 这三个方法都是改变函数本身的this指向的,但是略有不同 1.call 使用方法:函数名.call(this指向,展开的参数列表); 如果传入的this指向是null或者是undifin ...

  7. 深入了解组件- -- 动态组件 & 异步组件

    gitHub地址:https://github.com/huangpna/vue_learn/example里面的lesson11 一 在动态组件上使用keep-alive 在这之前我们已经有学习过用 ...

  8. 页面自动执行(加载)js的几种方法

    https://www.cnblogs.com/2huos/p/js-autorun.html 一.JS方法1.最简单的调用方式,直接写到html的body标签里面: <html> < ...

  9. VS未能加载文件或程序集“xxx.dll” 设置Build Events

    完整错误信息:"System.IO.FileNotFoundException"类型的未经处理的异常在 未知模块 中发生 未能加载文件或程序集"Ctp.Core.dll& ...

  10. APT甲级——A1069 The Black Hole of Numbers

    For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...