103
Early Hints is an HTTP status code designed to speed up content delivery. When enabled, Cloudflare can cache the Link
headers marked with preload and/or preconnect from HTML pages and serve them in a 103
Early Hints response before reaching the origin server. Browsers can use these hints to fetch linked assets while waiting for the origin’s final response, dramatically improving page load speeds.
To ensure Early Hints are enabled on your zone:
Log in to the Cloudflare Dashboard ↗ and select your account and website.
Go to Speed > Optimization > Content Optimization .
Enable the Early Hints toggle to on.
You can return Link
headers from a Worker running on your zone to speed up your page load times.
const CSS = "body { color: red; }" ;
<title>Early Hints test</title>
<link rel="stylesheet" href="/test.css">
<h1>Early Hints test page</h1>
// If request is for test.css, serve the raw CSS
if ( / test\.css $ / . test ( req . url )) {
return new Response ( CSS , {
"content-type" : "text/css" ,
// Serve raw HTML using Early Hints for the CSS file
return new Response ( HTML , {
"content-type" : "text/html" ,
link : "</test.css>; rel=preload; as=style" ,
const CSS = "body { color: red; }" ;
<title>Early Hints test</title>
<link rel="stylesheet" href="/test.css">
<h1>Early Hints test page</h1>
async fetch ( req ) : Promise < Response > {
// If request is for test.css, serve the raw CSS
if ( / test\.css $ / . test ( req . url )) {
return new Response ( CSS , {
"content-type" : "text/css" ,
// Serve raw HTML using Early Hints for the CSS file
return new Response ( HTML , {
"content-type" : "text/html" ,
link : "</test.css>; rel=preload; as=style" ,
} satisfies ExportedHandler ;
from js import Response , Headers
CSS = "body { color: red; }"
<title>Early Hints test</title>
<link rel="stylesheet" href="/test.css">
<h1>Early Hints test page</h1>
if re . search ( "test.css" , request . url ):
headers = Headers . new ({ "content-type" : "text/css" }. items ())
return Response . new ( CSS , headers = headers )
headers = Headers . new ({ "content-type" : "text/html" , "link" : "</test.css>; rel=preload; as=style" }. items ())
return Response . new ( HTML , headers = headers )