全部小册

RSS 订阅入门
4 章最近更新 2026年9月28日
从一份给阅读器看的更新列表出发,讲清 guid、条件请求、XML 转义与生成方式,最后落在本站订阅地址的四处真实坑位上。
这本书不从「什么是 RSS」的定义开始,而是从一个读者要在同一天追五个站点的现场开始,追问这份列表为什么必须存在、为什么可以被反复取走,以及站点把它写对要付出什么代价。
四章共用同一份订阅源。第一章读懂 `channel` 与 `item` 的最小结构,第二章说明阅读器凭什么知道哪篇是新的、又凭什么不每次都全量拉一遍,第三章把 XML 拼到能通过严格解析器,第四章回到这个仓库,讲订阅地址 `https://www.chengyunlai.top/api/rss` 是怎么从「0 个 item 的空文件」修成现在这样的,以及为什么它刻意不带 `Last-Modified`。
每一章都从上一章留下的限制开始,而不是按元素名称罗列用法。
目录
- 01RSS(一):一份给阅读器看的更新列表从同一天追五个站点的现场出发,读出 channel 与 item 的最小结构,理解 guid 为什么决定「哪篇已经读过」,以及订阅为什么是一个「拉」模型。约 7 分钟
- 02RSS(二):阅读器多久来一次,凭什么知道哪篇是新的从几千个源不能每天全量拉一遍的限制出发,讲清 ttl、Cache-Control 与条件请求 304、guid 去重如何全靠客户端,以及 WebSub 为什么不是个人静态博客该先做的事。约 12 分钟
- 03RSS(三):把 XML 拼对——转义、CDATA 与两种生成方式从标题里一个 & 让整份源静默失效的现场出发,给出一个够用的转义函数、CDATA 的边界处理,以及构建时与运行时两种生成方式的取舍。约 11 分钟
- 04RSS(四):本站的订阅地址是怎么长出来的回到这个仓库,讲订阅地址 /api/rss 的四处真实坑位:standalone 镜像里没有 content/、绝对地址被再拼一次 baseURL、条目链接为什么要给终态地址、以及子路径部署下入口为什么会消失;另附为什么这份 feed 刻意不带 Last-Modified。约 19 分钟