103

Early Hints

Overview

103 Early Hints is an interim response that sends Link headers ahead of the final response so the browser can start preloading resources such as CSS, fonts, and scripts. Overlapping server processing with resource fetching improves perceived performance (for example LCP).

It carries no body, and the final response (usually 200) follows, typically repeating the same Link headers.

When it happens

Request / Response example

Request
GET /article HTTP/1.1
Host: example.com
Response
HTTP/1.1 103 Early Hints
Link: </styles/main.css>; rel=preload; as=style
Link: </fonts/inter.woff2>; rel=preload; as=font; crossorigin

HTTP/1.1 200 OK
Content-Type: text/html
Link: </styles/main.css>; rel=preload; as=style

<!doctype html>...

In code

app.get('/article', (req, res) => {
  res.writeEarlyHints({
    link: ['</styles/main.css>; rel=preload; as=style']
  });
  renderArticle().then(html => res.send(html));
});
HTTP/1.1 103 Early Hints
Link: </app.js>; rel=preload; as=script

HTTP/1.1 200 OK

Notes

Related status codes

Related headers

Specification