rel="license"是w3c推荐的语义化标记,用于在head中通过href指向授权声明url,供机器识别而非浏览器执行;必须搭配有效url,不触发渲染或校验,多授权可重复使用,非html资源亦可。

link标签的rel="license"用法
HTML里不能用 <link> 标签“指向”授权声明来让浏览器自动执行或验证许可,但可以用 rel="license" 明确标注当前页面内容的授权信息所在位置——这是W3C推荐的语义化做法,主要供机器(如爬虫、版权工具)识别。
常见错误是把 rel="license" 当成“加载授权文件”用,结果发现页面没变化、也没报错,其实它本身不触发任何渲染或脚本行为。
- 必须搭配
href属性,且值应为一个可访问的URL(相对或绝对路径均可),例如href="/LICENSE.txt"或href="https://creativecommons.org/licenses/by/4.0/" -
rel="license"推荐放在中,多个授权时可重复使用(比如同时声明CC BY和GPL) - 不要写成
rel="copyright"或rel="terms"—— 这些不是标准值,浏览器和解析器不会识别 - 如果授权声明是内联文本(比如页脚一段说明),
<link rel="license">就不适用;此时应改用<a href></a>或微数据标记
实际例子:静态站点常用写法
假设你的网站根目录下有 LICENSE.md,且整站内容按MIT协议授权:
<link rel="license" href="/LICENSE.md">
如果用的是CC BY 4.0,更推荐直接链接到官方许可证页面,增强可信度:
<link rel="license" href="https://creativecommons.org/licenses/by/4.0/">
注意:href 指向的资源不需要是HTML格式,纯文本、PDF、甚至规范的JSON-LD都合法,只要URI可解析。
为什么浏览器不显示、也不校验这个link?
因为 rel="license" 是纯粹的元数据声明,不是资源预加载指令(不像 rel="stylesheet" 或 rel="preload")。现代浏览器既不渲染它,也不拦截或验证目标URL是否真实存在或内容是否匹配。
它的价值在下游工具链:
- 搜索引擎可能在富摘要中展示许可证信息
- 自动化合规扫描工具(如FOSSA、Snyk)会提取并比对
rel="license"声明与实际依赖许可证 - 某些无障碍工具或学术引用插件会读取它生成引用元数据
容易被忽略的一点:如果你在单页应用(SPA)中动态切换页面,<link rel="license"> 只在初始HTML中有效;路由变化后,除非手动操作DOM,否则新页面不会继承该声明。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











