Skip to content

Priority

Description

The Priority request header is an HTTP header used to communicate the priority of a request to a server. It helps optimize the loading of resources by indicating which requests should be processed with higher or lower priority. This is particularly useful in environments where multiple requests compete for bandwidth, such as web browsers loading multiple assets simultaneously.

The Priority header is mainly used in HTTP/2 and HTTP/3 to influence resource scheduling, allowing clients to specify urgency levels and whether requests should be reordered or executed in parallel. This can improve performance and user experience by prioritizing critical resources like scripts, stylesheets, and images.

The header consists of two key parameters:

  • u (urgency): Specifies the priority of the request on a scale from 0 (highest urgency) to 7 (lowest urgency).
  • i (incremental): A boolean flag (true or false) indicating whether the resource can be loaded incrementally.

Syntax

The Priority header follows this syntax:

Priority: u=<urgency>; i=<incremental>

For example:

Priority: u=1; i=true

This means the request has a high priority (u=1), and the resource can be loaded incrementally (i=true).

Examples

Basic Usage in HTTP Requests

When a browser requests an important CSS file, it may include the Priority header to ensure faster loading:

GET /styles.css HTTP/2
Host: example.com
Priority: u=1; i=false

Here, u=1 indicates high urgency, and i=false means the resource should be fully loaded before rendering.

Summary

The Priority request header is a valuable tool for optimizing web performance, particularly in HTTP/2 and HTTP/3. By signaling the urgency and incremental loading capabilities of resources, it helps servers and clients manage bandwidth more efficiently. Proper use of this header can lead to faster page loads, improved user experience, and better resource management across network conditions.