[]previous and next page

Early Hints

For a page request the server sends 103 Early Hints before it starts the page: a Link header with the stylesheets, the entry script and the preloads of the matched…

For agentsUpdated

For a page request the server sends 103 Early Hints before it starts the page: a Link header with the stylesheets, the entry script and the preloads of the matched routes, so the browser fetches them while the loaders run and the page renders. The links come from the build, never from the request. Only same-origin paths are sent (assets on a CDN keep to the final Link header), at most 8, and only for a browser navigation (Sec-Fetch-Mode: navigate) to a page whose route rule does not set csr: false. The browsers that act on a 103 all send that header; a script, a crawler or a load tool does not, and gets none. The final response always carries the same Link header, so a browser, proxy or platform that ignores the 103 loses nothing.

serve({ earlyHints }) is true by default; set false when a proxy in front mishandles informational responses. The hint is written with response.writeEarlyHints for HTTP/1.1 requests only. Which adapters send it is in the capability table: the Node layout (and Tarout, which runs it) does; Bun, Deno, Vercel, Netlify and Cloudflare send the final Link header only. Cloudflare's own Early Hints setting can send a 103 from that header; on the other platforms nothing is configured here. A custom runtime can opt in by giving the handler a host object with an earlyHints(links) method: the handler calls it once, before the loaders, with the Link values.