首页/网络/协议速查/Priority 请求优先级提示
HTTP 头与缓存70 条

Priority 请求优先级提示

RFC 9218 定义的可扩展优先级方案:用 u(urgency 0-7)与 i(incremental)提示服务器调度顺序。

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

Priority 是什么

Priority 是 RFC 9218 定义的可扩展优先级方案请求头,用两个参数描述调度偏好:u(urgency,取值 0 到 7,越小越紧急,默认 3)与 i(incremental,是否允许增量分发)。它取代了 HTTP/2 早期那套复杂且实现混乱的依赖树优先级。客户端用它表达「哪些资源更重要」,但服务器与中间节点都可以忽略这条提示。

基本信息

名称Priority
方向请求头(响应侧也可协商使用)
规范RFC 9218
参数 u取值 0 到 7,0 最高、7 最低,默认 3
参数 i取 1 表示允许增量分发,缺省为 0
性质调度偏好提示,服务器可以不采纳

典型使用场景

  • 关键资源提速:主文档与首屏资源用更高紧急度,减少渲染阻塞
  • 后台流量降级:预取、埋点、上报类请求压到最低优先度
  • CDN 与边缘调度调优:观察边缘节点是否尊重客户端给出的优先级
  • 排障:确认优先级提示是否被中间层剥离或忽略
  • 前端性能优化:与懒加载策略配合,避免次要资源抢占带宽
  • 协议演进了解:对比已废弃的 HTTP/2 依赖树优先级方案

优先级示例

优先级示例
# 关键资源:最高紧急度并允许增量分发(边生成边发)
Priority: u=0, i

# 预取类资源:最低紧急度,等带宽空闲再传
Priority: u=7

# 不写该头等价于 u=3, i=0(一次性发送)
curl -sI https://cdn.example.com/app.js -H 'Priority: u=1'

参数读法

参数取值含义
u0 到 7,默认 3数值越小越紧急
i0 或 1,缺省 0为 1 时允许增量分发,适合边算边发
u=0, i组合写法首屏关键资源常用
u=7单独写法预取、埋点等可延迟流量
优先级只是提示,服务器可以忽略;客户端不应把资源可用性建立在优先级一定生效的前提上。
HTTP/2、HTTP/3 与支持该头的 HTTP/1.1 服务器都能使用;CDN 与网关的支持度差异较大,上线前需实测。
为每个资源都写 u=0 等于没有优先级:要形成梯度,调度才有意义。
已废弃的 HTTP/2 PRIORITY 帧与本头的机制不同,混用可能得到相反效果,新实现应统一到 RFC 9218 的方案上。

易错点

  • 把 Priority 当保证:服务器可以忽略,关键资源仍可能与低优先级流量争抢带宽
  • 混用已废弃的 HTTP/2 依赖树优先级与 Priority 头,可能得到相反的效果
  • 全站资源都标 u=0,等于取消优先级:要形成梯度才有调度意义
  • 假设 CDN 一定支持该头却没有实测,优化上线后可能完全无效

数据来源与参考

  • RFC 9218 Extensible Prioritization Scheme for HTTP

相关工具

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