103 Early Hints
The 103 Early Hints status lets a server send preload and preconnect link headers before the final response is ready, so the browser warms connections while the app computes the answer.
Definition
Early Hints is an informational HTTP status that carries hints ahead of a final response. A server sends 103 with Link headers for stylesheets, scripts, or preconnect targets, then follows with the real status such as 200 once slow work completes. Browsers act on the hints immediately instead of waiting idle.
Context and scope
Applied when the final response depends on slow origin work — personalized HTML, SSR renders, slow upstream APIs — while the critical subresources are known upfront. Supported by major browsers and several CDNs.
Common misconceptions
- Early Hints replaces server push — it hints at declarative loads, it cannot inject arbitrary data or scripts
- Hints are a performance guarantee — the browser treats them as advisory and may ignore them
- Any proxy can synthesize 103 — intermediaries must explicitly support forwarding them or they vanish
Anti-patterns
- Sending Early Hints from an origin behind a proxy stack that strips 1xx informational responses
- Hinting resources whose URLs depend on the final computation, forcing the browser to fetch twice
- Hinting dozens of marginal resources and delaying the truly critical ones the hints were meant to prioritize
Related concepts
Related examples
Authoritative source
What it is
While the origin computes an expensive response, the client would otherwise sit idle. Early Hints fills that window with Link headers the browser can act on: preload a stylesheet, preconnect to a font origin. The final response later confirms or replaces those hints.
How it works
The server writes a 103 interim response on the same connection, then the final response. Only a safe subset of headers is allowed, chiefly Link. Hints must be idempotent in effect: acting on them early must not produce incorrect behavior if the final response differs.
When to use it
SSR pages with slow data fetching benefit most, because the critical CSS and preconnects are knowable before the data resolves. CDNs can cache and replay hints for cached pages. Measure time-to-first-byte versus time-to-first-render: the win appears in the gap between them.
Pitfalls
A hint for a URL that the final response changes causes a wasted fetch and possibly a duplicate. Middleboxes that mishandle 1xx responses can break the whole exchange, so verify the full chain. Hints compete with normal priority scheduling, so keep the set small and truly critical.