Priority
The HTTP Priority request and response header communicates prioritization preferences for responses when handling multiple concurrent requests.
Baseline: Newly available
Supported in Chrome, Edge, Safari, and Firefox. webstatus.dev
Usage
The Priority header provides a standardized way for clients to signal prioritization preferences across HTTP/2 and HTTP/3. This replaces the stream-level prioritization mechanism defined in earlier HTTP/2 specifications. The header uses two parameters: urgency and incremental delivery.
Servers use these hints to allocate resources like bandwidth and processing time across concurrent responses. The scheme gives clients control over trade-offs between critical resources (CSS, fonts) and lower-priority background assets (analytics, prefetch).
The header works across HTTP/1.1, HTTP/2, and HTTP/3, with the greatest benefit in multiplexed protocols. Platforms including Cloudflare, Chrome, and other Chromium-based browsers support the Priority header.
Directives
u
The u parameter specifies urgency as an integer from 0 to 7,
with 0 representing the highest priority and 7 the lowest. The
default urgency is 3 when no value is specified. A client marking
critical CSS as u=0 tells the server to deliver this resource
before assets marked with higher urgency values. Background tasks
like software updates typically use u=7.
i
The i parameter is a boolean indicating whether the response
provides meaningful value when processed incrementally. When set
to true (represented as ?1 or without an explicit value), the
server knows partial chunks of the response are useful before the
full download completes. Images rendering progressively, video
streaming, and large HTML documents benefit from incremental
delivery. Resources requiring complete delivery before processing
(like fonts or complete JSON payloads) omit this parameter or set
the parameter to false (?0).
When multiple requests share the same urgency level, incremental responses receive concurrent bandwidth allocation while non-incremental responses are delivered sequentially in request order.
Example
A request for a critical stylesheet with maximum urgency. The
u=0 directive tells the server this resource blocks rendering
and needs immediate delivery.
Priority: u=0
A JPEG image request with moderate urgency and incremental delivery enabled. The browser signals partial image data is useful as soon as the first chunks arrive, allowing progressive rendering while the download continues.
Priority: u=5, i
A background analytics request with the lowest urgency. The server delivers all higher-priority resources first before allocating bandwidth to this request.
Priority: u=7
Takeaway
The Priority header provides a version-independent way for HTTP clients to signal urgency and incremental delivery preferences, replacing HTTP/2 frame-based priority with a consistent mechanism across all HTTP versions.