Developer Tools

HTTP 103 Early Hints

1xx Informational. Used to return some response headers before the final HTTP message, letting a browser preload resources.

Runs in your browser. Your files and text never leave your device - nothing is uploaded.

1xx Informational

What it means

Used to return some response headers before the final HTTP message, letting a browser preload resources.

PropertyDetail
Status class1xx Informational
Defined inRFC 8297, Section 2 — RFC 8297 (2017) is an Experimental RFC; browsers and servers have since implemented it.
Cacheable by defaultNo. 1xx responses are interim, and RFC 9111 only lets a cache store a final response.
Who needs to actSite owners who want faster page loads. Visitors do not need to do anything.

What does HTTP 103 Early Hints mean?

HTTP 103 Early Hints is an interim response a server sends before the final one, carrying Link headers that tell the browser which resources to preload or which origins to preconnect to. The browser starts that work while the server is still generating the page, which can speed up pages that are slow to render.

How 103 Early Hints works

Early Hints fills the server's think-time, when the browser would otherwise sit idle waiting for HTML. The 103 carries Link headers such as rel=preload for a stylesheet or rel=preconnect for a font host, then the normal 200 follows. RFC 8297 is explicit that these are only hints: they must not change how the final response is processed, and a server may send more than one 103 as it learns more. According to Chrome's documentation, browsers act on Early Hints only for top-level page navigations, Chrome supports only preconnect and preload in them, and most browsers accept them only over HTTP/2 or HTTP/3.

Example 103 request and response

GET / HTTP/1.1
Host: example.com

HTTP/1.1 103 Early Hints
Link: </style.css>; rel=preload; as=style
Link: <https://fonts.example.net>; rel=preconnect

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

Shown in HTTP/1.1 notation, as RFC 8297 does; browsers mostly require HTTP/2 or HTTP/3 in practice. Repeating the Link header on the 200 keeps the hint working for clients that ignore the 103.

When servers send 103 Early Hints

  • A CDN that remembers the Link headers seen on a page and replays them as a 103 on later requests.
  • Application code that sends hints before starting a slow database query or render.
  • Web servers configured to emit 103; nginx, Apache (mod_http2), H2O and Node.js all support it.

How to handle 103 Early Hints

If you run the site

  • Hint only resources almost every visitor of that page needs, such as the main stylesheet or the font origin.
  • Avoid hinting versioned file names that change often, or a stale hint will download a file nobody uses.
  • Serve Early Hints over HTTP/2 or HTTP/3, and repeat the Link headers on the final response.

If you are checking that it works

  • In Chrome DevTools, resources fetched through Early Hints show early-hints as the Initiator in the Network panel; leave Disable cache unticked, because hinted files are served from the browser cache.
  • From a terminal, curl -v prints every status line it receives, so a working setup shows the 103 before the 200.

Related status codes

  • 100 Continue: Another interim response, but it answers an Expect header instead of carrying hints.
  • 200 OK: The final response that follows the 103 and that the hints belong to.
  • 102 Processing: An interim WebDAV progress signal with no hints in it.

Frequently asked questions

Sources

Other 1xx Informational codes

Reviewed by Raja Jahangir · Last reviewed: October 7, 2026