Reference guide · performance · Published 2026-08-15 · 4 min read

HTTP 103 Early Hints explained

What HTTP 103 Early Hints does, browser support, and when to enable it for faster navigation loads.

Flat editorial illustration showing a speedometer gauge with a rising needle, clean tick marks and small trailing dots.
Illustration: this article at a glance.

Most of a web page's delay is not the server transmitting the HTML; it is the time the server spends generating that HTML before it can stream any bytes. HTTP 103 Early Hints, defined in RFC 8297, lets the server send the hints a browser needs before the final response starts. While the server keeps working on the main resource, the browser is already resolving and preloading the assets the page will need. The result is a measurable drop in time to a usable page, most visible on dynamically rendered sites.

What it does

The server sends an interim 103 Early Hints response containing Link headers, then the normal final response. A Cloudflare-flavored or Nginx-enabled origin might emit:

Link: </style.css>; rel=preload; as=style
Link: </hero.webp>; rel=preload; as=image; fetchpriority=high

The browser acts on the preload and preconnect hints during the "server think time", then uses the cache from them when the document arrives. It only works on top-level navigation, only over HTTP/2 or HTTP/3, and only for preload and preconnect; prefetch and dns-prefetch are not supported in a 103. Resources preloaded this way must be cacheable, or the browser double-fetches them.

Support matrix

Support is broad but split by directive. In current Edge and Chrome, both preload and preconnect honours work. Firefox has supported preconnect since version 116 and preload since version 126. Safari supports preconnect but not preload in a 103. So a strategy that preloads the LCP image helps Chrome and Firefox users but gives Safari only the connection warm-up, which is why a good setup pairs a preload hint with a preconnect hint. Unsupported browsers ignore the interim response rather than breaking: they just wait for the normal 200.

When it helps most

Early Hints pays off when the server spends real time generating the page before responding, the classic case on server-rendered sites, a CMS, or an application behind a reverse proxy. On a static site whose HTML is already a file on disk, the think time is near zero and 103 buys little beyond what preload in the HTML already does, so it can add noise without value. The feature shines on dynamic pages with a slow database or templating layer and a few large critical assets.

The deployment reality

Enabling it is not always a line in your own config. Many origins surface it through a CDN or a managed WordPress platform toggle that sends origin-hint headers on your behalf. Where you control it, Nginx 1.29.0 and later pass through a 103 Early Hints response generated by the upstream backend via the early_hints directive, and reverse proxies or CDNs translate origin Link headers into a 103. That is distinct from the obsolete http2_push (HTTP/2 server push), which was removed from Nginx 1.25.1 and ignored by Chrome since version 106. Because a 103 only fires on navigation and only over h2 and h3, keep your normal preload directives in the document too, so users and transports that do not get a 103 are still served.

Measuring it

Confirm it is working by opening the network panel, selecting the main document request, and looking for the Early Hints section above the response headers. Hinted assets show an early-hints initiator and start before the document response starts, which is the telltale inversion. Track page load and LCP before and after; a site with a dominant server-render delay is where the improvement shows up in the metrics, not in code complexity.

When to involve a professional

Getting it right involves choosing which few assets to hint per page, and hinting the wrong ones can cause double fetches on real users. If you cannot identify a clear LCP asset for each page template, or the origin redirects after a 103, treat this as a profiling task: measure the render delay first, then hand the specific hint list to someone who can wire the origin and CDN layers together.

Early Hints is one tool in the resource-hint family. The preconnect and prefetch guide covers the other hints, and the hero-image preload guide covers the LCP-specific preload that most sites ship even without 103.

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services