首页/网络/协议速查/Link 链接关系
HTTP 头与缓存70 条

Link 链接关系

在响应头中表达资源间链接关系:preload、preconnect、canonical、alternate 等,供浏览器/爬虫提前动作。

协议速查网络更新于 2026-10-13

Link 是什么

Link 响应头用一行或多行表达资源之间的链接关系,格式是尖括号包住的地址加上 rel 参数。浏览器据此可以提前预连接、预加载关键资源;爬虫与 API 客户端则据 rel=next、prev 理解分页顺序,据 canonical 找到规范地址。它比 HTML 里的 link 标签更早生效,因为响应头先于文档解析到达,配合 103 Early Hints 还能进一步提前下发。

基本信息

名称Link
作用声明关联资源与关系类型
规范RFC 8288 Web Linking
格式尖括号地址加分号再加 rel 等参数
提前下发可随 103 Early Hints 一起返回
多值写法逗号分隔,或写成多个同名头

常见 rel 取值

rel 值作用备注
preload预加载指定资源必须带 as 参数,用错会被忽略
preconnect提前建立连接适合已知的第三方域名
prefetch提前获取,优先级低不保证一定使用
canonical声明规范地址可用于合并重复内容
alternate替代表示,如其他语言常与分页或移动版配合
next 与 prev分页顺序关系API 与爬虫据此翻页

响应头示例

响应头示例
Link: </assets/app.js>; rel=preload; as=script
Link: <https://cdn.example.com>; rel=preconnect
Link: </p/42>; rel=canonical
Link: </items?page=3>; rel=next, </items?page=1>; rel=prev
# 配合 103 Early Hints 在最终响应前先下发关键资源提示

典型使用场景

  • 关键资源加速:在响应头阶段就提示浏览器开始加载
  • 第三方域名预热:预连接统计、字体或接口域名,减少后续握手开销
  • 分页接口:用 next 与 prev 表达翻页关系,客户端不必解析页面里的链接
  • 搜索引擎与爬虫配合:声明规范地址,避免重复内容分散权重
  • 多语言站点:用 alternate 标注不同语言版本之间的对应关系
preload 必须带正确的 as 参数,否则浏览器识别不出资源类型而直接忽略,表面上配了却没有效果。另外,同一路径同时被响应头 preload 与页面中的标签重复声明时会造成重复请求,配置前先确认页面上是否已有相应的预加载声明。

易错点

  • preload 漏写 as 参数或写错类型,浏览器静默忽略,白做优化还留下误导性结论
  • 对同一资源既用响应头又用页面标签预加载,造成重复请求与带宽浪费
  • 把 Link 当成能改变渲染行为的指令:它只表达关系,是否执行由客户端决定
  • 分页关系写成相对地址时忽略基准地址差异,客户端解析出错误路径

数据来源与参考

  • RFC 8288 Web Linking
  • W3C Preload 规范

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌