rev 属性在 中已完全废弃,html5 明确移除,现代浏览器不支持、忽略且不解析;其语义模糊、极少实现,与 rel 逻辑重复,应统一用正向 rel 关系替代。

rev 属性在 <link> 中**已完全废弃,不被现代浏览器支持,也不应再使用**。HTML5 明确移除了该属性,W3C 和 WHATWG 规范中均无定义。
为什么 rev 被废弃?
它本意是表达“反向关系”(例如 <link rel="stylesheet" href="a.css" rev="stylesheet"> 表示“a.css 是当前文档的样式表”的逆命题),但语义模糊、极少被实现,且与 rel 逻辑重复——真正需要的总是正向关系描述。
-
rev的值无法被浏览器解析为有效链接语义,多数浏览器忽略它 - 搜索引擎、辅助技术、爬虫等从不读取或依赖
rev - HTML5 草案阶段就将其标记为“obsolete”,最终标准中彻底删除
替代方案:用 rel + 正向建模
所有原本想用 rev 表达的意图,都应改写为以当前文档为主语的 rel 关系。
- 想说“当前页被
foo.json描述” → 改用<link rel="describedby" href="foo.json">(注意:describedby是正向关系,含义是“当前文档被 href 指向资源描述”) - 想表达“当前页是某规范的实现” → 应由规范文档自身用
<link rel="implementation">指向你的页面,而非你页面用rev反指 - 自定义语义需走
rel注册流程(如rel="preload"),不能靠rev绕过
检查是否误用了 rev?
如果你在遗留代码、模板或 CMS 输出中看到 rev,它大概率是无效冗余代码,甚至可能干扰某些严格校验工具(如 W3C Validator 会报错 Attribute rev not allowed on element link)。
- 浏览器开发者工具中,
rev不会出现在 DOM 属性列表里(即使 HTML 中写了) - 运行
document.querySelector('link[rev]').getAttribute('rev')返回null或undefined - 任何基于
rel的预加载、预连接、资源提示(如prefetch,preconnect)都与rev完全无关
真正要小心的是:有些旧文档生成器或框架(如早期 Jekyll 插件、Drupal 7 主题)可能仍硬编码了 rev,它们不会报错,但也不会起作用——删掉最干净。











