103 Early Hints
Allow a client to request static assets while waiting for the HTML response.
To ensure Early Hints are enabled:
- 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.
const CSS = "body { color: red; }";const HTML = `<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Early Hints test</title><link rel="stylesheet" href="/test.css"></head><body><h1>Early Hints test page</h1></body></html>`;export default {async fetch(req) {// If request is for test.css, serve the raw CSSif (/test\.css$/.test(req.url)) {return new Response(CSS, {headers: {"content-type": "text/css",},});} else {// Serve raw HTML using Early Hints for the CSS filereturn new Response(HTML, {headers: {"content-type": "text/html",link: "</test.css>; rel=preload; as=style",},});}},};
const CSS = "body { color: red; }";const HTML = `<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Early Hints test</title><link rel="stylesheet" href="/test.css"></head><body><h1>Early Hints test page</h1></body></html>`;const handler: ExportedHandler = {async fetch(req) {// If request is for test.css, serve the raw CSSif (/test\.css$/.test(req.url)) {return new Response(CSS, {headers: {"content-type": "text/css",},});} else {// Serve raw HTML using Early Hints for the CSS filereturn new Response(HTML, {headers: {"content-type": "text/html",link: "</test.css>; rel=preload; as=style",},});}},};export default handler;