浏览器识别rss订阅源必须同时满足:rel="alternate"且type="application/rss+xml";href须为根相对或绝对路径(如/feed.xml);link标签必须置于内;服务端需返回200状态码及content-type: application/rss+xml响应头。

link标签的rel属性必须是“alternate”且type为“application/rss+xml”
浏览器识别RSS订阅源,只认 rel="alternate" 这个值,加上正确的 type 和 title。写成 rel="rss" 或 rel="feed" 都无效——那些是旧习惯或非标准写法,现代浏览器(包括Chrome、Firefox、Safari)完全忽略。
关键参数组合如下:
-
rel必须为alternate -
type推荐用application/rss+xml(RSS 2.0)或application/atom+xml(Atom) -
href必须是绝对路径或根相对路径(如/feed.xml),协议相对路径(//example.com/feed.xml)也行,但纯相对路径(feed.xml)在子目录页容易404 -
title建议填写,部分浏览器(如Firefox地址栏小图标)会显示它
放在head里,且最好在meta之后、script之前
<link> 标签必须出现在 内,否则无意义。位置虽无硬性规范,但实测发现:如果它被 <script></script> 标签阻塞(尤其同步脚本),某些浏览器可能跳过解析;而放在 <meta charset> 和 <meta name="viewport"> 之后更稳妥。
典型写法示例:
<meta charset="utf-8"><meta name="viewport" content="width=device-width"><link rel="alternate" type="application/rss+xml" href="/feed.xml" title="RSS Feed">
浏览器实际支持程度比想象中低
Chrome 自 71 版起已移除原生 RSS 图标和订阅入口;Edge 同步 Chromium 后也不再支持。Firefox 仍保留地址栏右侧的 RSS 小图标(需页面有合法 <link rel="alternate" type="application/rss+xml">),但点击后默认调用外部阅读器(如 Thunderbird),不内置阅读界面。Safari 完全不暴露该功能——即使代码正确,用户也看不到任何提示。
这意味着:
- 不能依赖浏览器自动发现,必须在页面显眼位置放一个手动订阅链接(比如
@#@#@#@#@#@#@#@#@#@0) - 服务端需确保
/feed.xml返回正确的Content-Type: application/rss+xml响应头,否则 Firefox 可能拒绝解析 - 验证是否生效,最直接方式是用 Firefox 打开页面,看地址栏是否有橙色 RSS 图标;或者用 curl 检查响应头:
curl -I https://yoursite.com/feed.xml
多个feed源怎么写?用不同title区分即可
一个页面可以声明多个 RSS/Atom 源,比如按分类提供不同 feed。只要每个 <link> 的 title 不同,浏览器(主要是 Firefox)就能列出多个选项。
例如:
<link rel="alternate" type="application/rss+xml" href="/feed.xml" title="All Posts"><link rel="alternate" type="application/rss+xml" href="/tag/js/feed.xml" title="JavaScript Posts"><link rel="alternate" type="application/atom+xml" href="/atom.xml" title="Atom Feed">
注意:type 不同算不同格式,title 是唯一用于区分的字段;href 必须真实可访问,否则 Firefox 会在下拉菜单中灰掉对应项。
真正容易被忽略的是响应头和路径稳定性——哪怕 <link> 写得再标准,如果 /feed.xml 返回 404 或 text/plain 类型,整个机制就失效了。维护 RSS 订阅,本质是维护一个长期有效的静态资源端点。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











