HTTP 103 Early Hints allows the server to send response headers before the final response is ready. This is primarily used to send Link headers so the browser can start preloading resources (CSS, JavaScript, fonts) while the server is still generating the page.
103 Early HintsGET / HTTP/1.1
Host: www.example.com
User-Agent: curl/8.6.0
Accept: text/htmlHTTP/1.1 103 Early Hints
Link: </css/styles.css>; rel=preload; as=style
Link: </js/main.js>; rel=preload; as=script
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 5240
<!doctype html>
<html lang="en">
<head>
<title>Welcome to Example</title>
<link rel="stylesheet" href="/css/styles.css">
</head>
<body>
<h1>Welcome</h1>
</body>
</html>Check that the client browser supports 103 Early Hints. Chrome 103+ and other modern browsers support it.
Ensure the Link headers in the 103 response point to resources that actually exist and are needed for the page.
Some proxies may not forward 103 responses correctly. Test the response chain end-to-end.
curl -v https://example.com/ 2>&1 | grep -i 'early hints'
The server sends Link rel=preload headers early so the browser can fetch critical resources in parallel with server-side rendering.
A CDN like Cloudflare sends cached 103 Early Hints before forwarding the request to the origin server.
| Specification | Section |
|---|---|
| An HTTP Status Code for Indicating Hints | RFC 8297 §2 |
This reference was compiled from official RFCs, protocol specifications, and hands-on troubleshooting experience. AI tools were used primarily for formatting and organizing the content on the page.