HTTP Priority Header Reference

HTTP Priority, Urgency and Incremental field values with fetch priority mapping.

Reference for the HTTP Priority header from RFC 9218 with urgency levels (u=0..7), the incremental (i) flag, defaults and a fetchpriority mapping cheat sheet.

What is the HTTP Priority header?

Defined in RFC 9218 (Extensible Prioritization Scheme for HTTP), it lets a client or server signal how a response should be prioritised relative to others on the same connection. It uses structured-field parameters u (urgency) and i (incremental).

A simpler way to prioritise HTTP responses

The old HTTP/2 dependency-tree priority scheme was complex and widely unimplemented, so RFC 9218 replaced it with Extensible Priorities: two structured-field parameters carried in a Priority header. This reference lists the urgency levels, the incremental flag, their defaults, and how browser fetchpriority hints map onto them.

How it works

The Priority header is an HTTP structured-field dictionary with two members:

  • u — urgency, an integer 07. 0 is the most urgent; the default is 3.
  • i — incremental, a boolean. i (true) means the response can be rendered progressively and interleaved with others of equal urgency; the default is false.
Priority: u=1, i

A client may send Priority as a request header to ask for a priority; a server may include it (or a priority parameter on a Link preload) to reprioritise. On the connection, the server serves lower u values first, and within one urgency it round-robins incremental responses while sending non-incremental ones to completion first.

Tips and mapping

  • Browser fetchpriority="high" roughly maps to u=1/u=2; low to u=5/u=6.
  • Critical CSS and the LCP image deserve a low u; analytics and prefetch belong high.
  • Mark streamed HTML and progressive images i so they render as bytes arrive.
  • Omitting the header is the same as u=3 with no incremental delivery.