使用 RSS 可以将最新的网络内容从一个网站分发到全球数千个其他网站。

RSS 允许快速浏览新闻和更新。

RSS 文档示例

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"> <channel>
<item>
</item>
<item>
</item>
</channel> </rss>

什么是 RSS?

RSS 代表着真正简单的聚合

RSS 允许您对站点内容进行聚合

RSS 定义了一种轻松分享和查看标题和内容的方法

RSS 文件可以自动更新

RSS 允许为不同站点提供个性化视图

RSS 是用 XML 编写的

为什么使用 RSS?

RSS 旨在显示选定的数据。

如果没有 RSS,用户将不得不每天检查您的网站是否有更新。这对许多用户来说可能太耗时了。使用 RSS 订阅(RSS 经常被称为新闻订阅或 RSS 订阅),他们可以使用 RSS 聚合器(收集和排序 RSS 订阅的站点或程序)更快地检查您的网站。

由于 RSS 数据量小且加载速度快,因此可以轻松地与手机或 PDA 等服务一起使用。

具有类似信息的网络环可以轻松地共享其网站上的数据,以使其变得更好且更有用。

谁应该使用 RSS?

很少更新其网站的网站管理员不需要 RSS!

对于经常更新的网站,如:

  • 新闻网站 - 列出带有标题,日期和描述的新闻
  • 公司 - 列出新闻和新产品
  • 日历 - 列出即将发生的事件和重要日期
  • 网站更改 - 列出更改的页面或新页面

RSS 的好处

以下是使用 RSS 的一些好处:

选择您的新闻

使用 RSS,您可以选择查看您感兴趣且与您的工作相关的新闻。

删除不想要的信息

使用 RSS,您可以(最终)将想要的信息与不想要的信息(垃圾邮件)分开!

增加您的网站流量

使用 RSS,您可以创建自己的新闻频道,并将其发布到互联网上!

RSS 的历史

  • 1997年 - UserLand 的 Dave Winer 开发了 scriptingNews。RSS 诞生了
  • 1999年 - 网景开发了 RSS 0.90(支持 scriptingNews)
  • 1999年 - Dave Winer 开发了 scriptingNews 2.0b1(其中包含 RSS 0.90 功能)
  • 1999年 - 网景开发了 RSS 0.91(其中包含大多数来自 scriptingNews 2.0b1 的功能)
  • 1999年 - UserLand 摒弃了 scriptingNews,仅使用 RSS 0.91
  • 1999年 - 网景停止了他们的 RSS 开发
  • 2000年 - UserLand 发布了官方的 RSS 0.91 规范
  • 2000年 - O'Reilly 开发了 RSS 1.0。此格式使用了 RDF 和命名空间。
  • 2000年 - UserLand 的 Dave Winer 开发了 RSS 0.92
  • 2002年 - 离开 UserLand 后,Dave Winer 开发了 RSS 2.0
  • 2003年 - 发布了官方的 RSS 2.0 规范

RDF 背后的想法是帮助创建语义 Web。然而,对于普通用户来说,这并不太重要,但是通过使用 Web 标准,人们和应用程序之间交换数据将更容易。

应该使用哪个 RSS 版本?

RSS 0.91 和 RSS 2.0 比 RSS 1.0 更易于理解

RSS 2.0 的语法规则非常简单且非常严格。

RSS 是否是 Web 标准?

RSS 没有官方标准。

大约50%的所有 RSS 订阅使用 RSS 0.91

约25%使用 RSS 1.0

最后25%分为 RSS 0.9x 版本和 RSS 2.0

RSS 如何工作?

RSS 用于在网站之间共享内容。

使用 RSS,您可以向称为聚合器的公司注册您的内容。

因此,要成为其中的一部分:首先,创建一个 RSS 文档并将其保存为 .xml 扩展名。然后,将文件上传到您的网站。接下来,注册一个 RSS 聚合器。每天,聚合器搜索已注册的网站以查找 RSS 文档,验证链接,并显示有关源的信息,以便客户可以链接到他们感兴趣的文档。

XML RSS

RSS 文档使用自描述和简单的语法。

以下是一个简单的 RSS 文档:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"> <channel>
<item>
</item>
</channel> </rss>

文档中的第一行 - XML声明 - 定义了文档中使用的 XML 版本和字符编码。在这种情况下,文档符合 XML 1.0 规范,并使用 UTF-8 字符集。

下一行是 RSS 声明,它标识这是一个 RSS 文档(在本例中是 RSS 版本 2.0)。

接下来的一行包含 <channel> 元素。该元素用于描述 RSS 源。

<channel> 元素有三个必需的子元素:

  • <title> - 定义频道的标题
  • <link> - 定义到频道的超链接
  • <description> - 描述频道

每个 <channel> 元素可以有一个或多个 <item> 元素。

每个 <item> 元素定义了 RSS 源中的一篇文章或“故事”。

<item> 元素有三个必需的子元素:

  • <title> - 定义项目的标题
  • <link> - 定义到项目的超链接
  • <description> - 描述项目

最后,最后两行关闭了 <channel><rss> 元素。

RSS 中的注释

在 RSS 中编写注释的语法与 HTML 类似:

<!-- 这是一个 RSS 注释 -->

RSS 是用 XML 编写的

因为 RSS 是 XML,所以请记住:

  • 所有元素必须有一个闭合标签
  • 元素区分大小写
  • 元素必须被正确嵌套
  • 属性值必须始终用引号引起来

RSS 中的 <channel> 元素

RSS <channel> 元素描述了 RSS 源。

看以下 RSS 文档:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"> <channel>
<item>
</item>
</channel> </rss>

如前所述,<channel> 元素描述了 RSS 源,并有三个必需的子元素:

  • <title> - 定义频道的标题
  • <link> - 定义到频道的超链接
  • <description> - 描述频道

<channel> 元素通常包含一个或多个 <item> 元素。每个 <item> 元素定义了 RSS 源中的一篇文章或“故事”。

此外,<channel> 还有几个可选的子元素。我们将在下面解释最重要的几个。

<category> 元素

<category> 子元素用于为您的源指定一个类别。

<category> 元素使得 RSS 聚合器可以根据类别对站点进行分组。

上述 RSS 文档的类别可能是:

<category>Web开发</category>

<copyright> 元素

<copyright> 子元素通知版权材料。

上述 RSS 文档的版权可以是:

<copyright>2006 Refsnes Data as. 版权所有。</copyright>

<image> 元素

<image> 子元素允许在聚合器呈现源时显示图像。

<image> 元素有三个必需的子元素:

  • <url> - 定义图像的 URL
  • <title> - 如果无法显示图像,则定义要显示的文本
  • <link> - 定义到提供该频道的网站的超链接

元素

<language>子元素用于指定文档所使用的语言。

<language>元素使得 RSS 聚合器可以根据语言对站点进行分组。

上述 RSS 文档的语言可能是:

<language>en-us</language>

<item>元素

每个 <item> 元素定义了 RSS 源中的一篇文章或“故事”。

看以下 RSS 文档:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"> <channel>
<item>
</item>
</channel> </rss>

如前所述,每个 <item> 元素定义了 RSS 源中的一篇文章或“故事”。

<item> 元素有三个必需的子元素:

  • <title> - 定义项目的标题
  • <link> - 定义到项目的超链接
  • <description> - 描述项目

此外,<item> 还有几个可选的子元素。我们将在下面解释最重要的几个。

<author>元素

<author> 子元素用于指定项目作者的电子邮件地址。

注意:为了防止垃圾邮件,一些开发者不包括 <author> 元素。

上述 RSS 文档中项目的作者可能是:

<author>hege@refsnesdata.no</author>

<comments> 元素

<comments> 子元素允许项目链接到关于该项目的评论。

<enclosure> 元素

<enclosure> 子元素允许在项目中包含媒体文件。

<enclosure> 元素有三个必需的属性:

  • url - 定义媒体文件的 URL
  • length - 定义媒体文件的长度(以字节为单位)
  • type - 定义媒体文件的类型

将您的 RSS 源放在网络上

如果其他人无法访问您的 RSS 文档,那么拥有 RSS 文档就没有用了。

现在是时候将您的 RSS 文件放在网络上了。以下是步骤:

  1. 为您的 RSS 文件命名。请注意,文件必须具有 .xml 扩展名。

  2. 验证您的 RSS 文件

  3. 将 RSS 文件上传到您的 Web 服务器上的 Web 目录中。

  4. 将小橙色的 RSS 徽标或 XML 徽标按钮复制到您的 Web 目录中。

  5. 将小橙色“RSS”或“XML”按钮放在您将向世界提供 RSS 的页面上(例如您的主页)。然后在按钮上添加一个链接,该链接指向 RSS 文件。代码将类似于:

  6. 将您的 RSS 源提交给 RSS Feed 目录(您可以在 Google 或 Yahoo 上搜索“RSS Feed 目录”)。注意!您的反馈 URL 不是您的主页,而是您的反馈 URL

  7. 将您的反馈注册到主要搜索引擎:

  1. 更新您的反馈 - 在注册您的 RSS 反馈后,您必须确保定期更新您的内容,并确保您的 RSS 反馈一直可用。

我可以自己管理我的 RSS 反馈吗?

确保您的 RSS 反馈按照您的期望工作的最佳方法是

自己管理它。

然而,这可能非常耗时,特别是对于更新频繁的页面。

另一种选择是使用第三方自动化的 RSS。

自动化的 RSS

对于只需要个人网站的用户来说,一些提供内置 RSS 服务的最受欢迎的博客(Web Log)管理器包括:

  • Wordpress
  • Blogger
  • Radio

RSS阅读器

RSS阅读器用于阅读 RSS 源!

对于许多不同的设备和操作系统,都有各种不同的 RSS 阅读器。

有很多不同的 RSS 阅读器。有些作为 Web 服务,有些限于 Windows(或 Mac、PDA 或 UNIX):

  • QuiteRSS - 一个开源、跨平台的 RSS/Atom 新闻源阅读器
  • FeedReader - 一个简单、直接的源阅读器,可以轻松处理大量的源

提示:大多数浏览器都有内置的 RSS 阅读器。如果您访问提供 RSS 源的网站,您将在地址栏或工具栏中看到一个 RSS 图标。单击该图标即可查看不同的源列表。选择您想要阅读的源。

我有一个 RSS 阅读器。现在该怎么办?

单击您想要阅读的 RSS 源旁边的小 RSS 徽标或 XML 徽标按钮。复制您在浏览器窗口中获得的 URL,并将其粘贴到您的 RSS 阅读器中。

RSS参考

<channel> 元素

“元素”列中的链接指向每个特定元素的更多信息。

元素 描述
<category> 可选。为源定义一个或多个类别
<cloud> 可选。注册进程以立即通知更新源的更新
<copyright> 可选。通知有关受版权保护的材料
<description> 必需。描述频道
<docs> 可选。指定用于源中使用的格式的文档的 URL
<generator> 可选。指定用于生成源的程序
<image> 可选。允许在聚合器呈现源时显示图像
<language> 可选。指定源的语言
<lastBuildDate> 可选。定义源内容的最后修改日期
<link> 必需。定义到频道的超链接
<managingEditor> 可选。定义源内容的编辑的电子邮件地址
<pubDate> 可选。定义源内容的最后发布日期
<rating> 可选。源的 PICS 评级
<skipDays> 可选。指定聚合器应跳过更新源的日期
<skipHours> 可选。指定聚合器应跳过更新源的小时
<textInput> 可选。指定应与源一起显示的文本输入字段
<title> 必需。定义频道的标题
<ttl> 可选。指定源可以在从源刷新之前缓存的分钟数
<webMaster> 可选。定义源的 Web 主管的电子邮件地址

<item> 元素

元素 描述
<author> 可选。指定项目的作者的电子邮件地址
<category> 可选。定义项目所属的一个或多个类别
<comments> 可选。允许项目链接到有关该项目的评论
<description> 必需。描述项目
<enclosure> 可选。允许在项目中包含媒体文件
<guid> 可选。为项目定义唯一标识符
<link> 必需。定义到项目的超链接
<pubDate> 可选。定义项目的最后发布日期
<source> 可选。指定项目的第三方来源
<title> 必需。定义项目的标题

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

RSS 解析:全球内容分发的利器及使用技巧的更多相关文章

  1. CDN(内容分发网络)技术原理

    1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...

  2. CDN 内容分发网络技术

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  3. 深度剖析:CDN内容分发网络技术原理--转载

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  4. http 协议_DNS_域名解析 DNS 服务器_内容分发网络 CDN_缓存机制_HTML5 浏览器存储技术_cookie_sessionStorage_localStorage

    TCP/IP 协议族 是按层次去划分的 应用层    决定了向用户提供应用服务时通信的活动. FTP 协议(文件传输协议)DNS(域名协议)HTTP(超文本传输协议) 传输层    提供处于网络连接中 ...

  5. [转]CDN(内容分发网络)技术原理

    1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...

  6. 史上最全的CDN内容分发网络实战技巧(网络优化)

    今天来给大家分享下关于 CDN 的东西,以及我自己的一些发现.一些个人的拙见.总共分为 3 个部分:原理.详解.各种坑. 首先说一下 CDN 的基本原理部分,主要分 4 块来描述:CDN 的由来.调度 ...

  7. 全局负载均衡与CDN内容分发

    CDN简介 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发. ...

  8. Web前端性能优化教程02:使用内容分发网络

    基础知识 服务器离用户越近,HTTP请求的响应时间将更短. CNAME:别名记录,当多个域名需要指向同一服务器IP,可以使用一个域名做A记录指向该服务器IP,然后让多个域名指向该A记录. ICP:In ...

  9. CDN内容分发网络

    CDN的全称是Content Delivery Network,即内容分发网络,其设计思想是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. CDN系统是在网络 ...

  10. CDN加速-内容分发网络

    内容分发网络 (互联网技术) 编辑 CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输 ...

随机推荐

  1. 评审恩仇录——IDE也能做代码评审?

    简介: 云效Codeup推出了本地IDE插件端的评审,免除了黄药师来回华山的奔波之苦 现代科技公司的同事们平日一起交流开发规约和产品需求,肩上共同扛着业务发展和同行竞争的压力,这份还书贻剑的情谊如何能 ...

  2. 简单、有效、全面的Kubernetes监控方案

    ​简介:近年来,Kubernetes作为众多公司云原生改造的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes展开,保证Kubernetes的稳定性和可用性是最基础的需求,而这其中 ...

  3. MySQL 深潜 - 一文详解 MySQL Data Dictionary

    ​简介: 在 MySQL 8.0 之前,Server 层和存储引擎(比如 InnoDB)会各自保留一份元数据(schema name, table definition 等),不仅在信息存储上有着重复 ...

  4. [Go] gorm 错误处理 与 链式/Finisher方法

    使用 gorm 在调用 Finisher 方法之后,建议都进行错误检查. Finishers 是会立即执行注册回调的方法,然后生成并执行 SQL,比如这些方法: Create, First, Find ...

  5. ESP32 使用LVGL案例

    一.完成LVGL移植 在使用LVGL提供的测试案例时,需要先移植LVGL,不明白的小伙伴看我之前的笔记 esp-idf 移植 lvgl8.3.3. 移植完成后的项目文件如下图所示 二.添加需要的测试案 ...

  6. Go-Zero从0到1实现微服务项目开发(二)

    前言 书接上回,继续更新GoZero微服务实战系列文章. 上一篇被GoZero作者万总点赞了,更文动力倍增,也建议大家先看巧一篇,欢迎粉丝股东们三连支持一波:Go-zero微服务快速入门和最佳实践(一 ...

  7. 算法~利用zset实现滑动窗口限流

    滑动窗口限流 滑动窗口限流是一种常用的限流算法,通过维护一个固定大小的窗口,在单位时间内允许通过的请求次数不超过设定的阈值.具体来说,滑动窗口限流算法通常包括以下几个步骤: 初始化:设置窗口大小.请求 ...

  8. 通俗易懂的KMP理论讲解(含手求Next数组)

    通俗易懂的KMP理论讲解(含手求Next数组) 1.KMP算法介绍 KMP算法的核心是利用匹配失败后的信息,通过一个 next 数组,保存模式串中前后最长公共子序列的长度,尽量减少模式串与主串的匹配次 ...

  9. 「IT运维迷宫」那些让人头疼的常见问题与破局之道

    在数字化浪潮汹涌的今天,IT运维如同一座错综复杂的迷宫,稍有不慎便可能迷失方向.作为企业运营的幕后英雄,运维团队常常面临着各种突如其来的挑战.本文将带你深入探索IT运维中的那些常见"坑&qu ...

  10. 以对象的方式访问html中的标签,比正则表达式更好用的方式获取html中的内容,linq方式直接获取所有的链接,更加先进的c#版本爬虫开源库

    这是我本人自己写的一个开源库,现已经发布到nuget,可以直接在vs的nuget包管理中搜索到,或者可以到nuget官网下载:https://www.nuget.org/packages/ZmjCon ...