Skip to content

Service-Worker-Navigation-Preload

A request header sent in preemptive request to fetch() a resource during service worker boot. The value, which is set with NavigationPreloadManager.setHeaderValue(), can be used to inform a server that a different resource should be returned than in a normal fetch() operation.

The Service-Worker-Navigation-Preload HTTP header is a specialized field used to a request header sent in preemptive request to fetch() a resource during service worker boot. The value, which is set with NavigationPreloadManager.setHeaderValue(), can be used to inform a server that a different resource should be returned than in a normal fetch() operation. It acts as a signaling mechanism between the client and the server to enforce policies, negotiate capabilities, or provide telemetry data during the transmission of requests and responses.

This header is primarily utilized when the client or browser needs to declare its context or capabilities prior to establishing the transaction. Modern web applications rely on this to maintain state and context.

It facilitates seamless programmatic integration by ensuring both the client and server agree on the terms of the transaction, greatly improving performance, security, and rendering correctness without manual user intervention.

Implement or parse this header within your application’s network layer (such as an Express middleware or a Next.js edge function) by reading or attaching the key-value pair:

Service-Worker-Navigation-Preload: <appropriate-value>
Service-Worker-Navigation-Preload: <value>