What is Status Code: 103 Early Hints? Don't Wait for the Final Answer

What is HTTP 103 Early Hints? Learn how this status code speeds up web loading by sending hints about needed resources before the final page is ready.

INEZA Felin-Michel

INEZA Felin-Michel

10 September 2025

What is Status Code: 103 Early Hints? Don't Wait for the Final Answer

You click a link on a website. For a fraction of a second, nothing happens. Behind the scenes, your browser is waiting. It's sent a request to the server and is patiently idling until it gets a response. Once the response arrives the HTML of the page the browser can finally start parsing it, discovering which stylesheets, scripts, and images it needs, and then begin requesting those.

This delay, however brief, is a fundamental bottleneck in web performance. What if the browser didn't have to wait? What if the server could give it a sneak peek, a list of the most critical resources needed, before it had finished assembling the final page?

This isn't a futuristic idea. It's a real technology available today, and it's powered by one of the newest HTTP status codes: 103 Early Hints.

This code is all about anticipation and efficiency. It's the server leaning into the connection and whispering, "Psst... while I'm getting the main thing ready, you should probably start asking for these other things right now."

If you've never heard of it before, don’t worry, you're not alone. Status code 103 is relatively new, but it plays a very interesting role in improving web performance and user experience.

If you're obsessed with shaving milliseconds off your load times and improving Core Web Vitals, this status code is a powerful tool you need to know about.

And before we dive into the mechanics, if you're a developer or DevOps engineer focused on performance, you need a tool that can help you test and visualize the impact of these advanced HTTP features. If you’re testing HTTP status codes including newer ones like 103 Early Hints you’ll need a powerful API testing tool. That’s where Apidog comes in. With Apidog, you can design, test, and debug APIs in real time, making it much easier to experiment with responses like 103. The best part? You can download Apidog for free today and start hands-on testing and optimize your website's critical rendering path from the very first byte.

button

Now, let's explore how HTTP 103 Early Hints turns waiting time into loading time.

The Problem: The Blocking Delay

To understand why 103 is a big deal, we need to understand the critical path of a traditional webpage load:

  1. Request: Browser requests https://example.com.
  2. Waiting (TTFB): The browser waits. This is the Time to First Byte (TTFB). The server is busy executing code, querying databases, and assembling the HTML response.
  3. Response: The server sends the complete HTML response (200 OK).
  4. Parsing & Discovery: The browser starts parsing the HTML. Halfway through, it finds a <link rel="stylesheet"> tag for a crucial CSS file. It then sends a new request for that file.
  5. More Waiting: The browser waits again for the CSS to be downloaded before it can even think about rendering the page.

The key insight is that the browser is blocked during step 2. It's sitting on its hands, unable to do anything until the first byte of the HTML arrives. The server, during this time, knows exactly what resources the page will need (the CSS, the logo, the web font). But it says nothing until the very end.

103 Early Hints is designed to break this blocking period.

What is HTTP 103 Early Hints?

The HTTP status code 103 Early Hints is part of the 1xx informational response class. These codes are not final responses; instead, they provide useful signals to the client before the server sends the full response. Formally defined in RFC 8297, the 103 Early Hints informational status code is used by a server to send preliminary HTTP headers before the final response.

While the server is preparing the final response, it can send a 103 response that contains Link headers. These Link headers point to the important resources the browser will need to render the page primarily stylesheets, fonts, and sometimes scripts.

Specifically, 103 Early Hints tells the client:

"Here are some resources you’ll likely need go ahead and start fetching them while I prepare the full response.”

The browser can then immediately start preconnecting to domains or, even better, preloading these critical resources, all while the server is still busy generating the main HTML document. This is particularly handy for web browsers, as they can preload stylesheets, scripts, or images before the actual HTML document arrives.

Why Was 103 Early Hints Introduced?

In today's internet, speed is everything. Users expect websites to load in milliseconds, and search engines even use page speed as a ranking factor.

Before 103 Early Hints, browsers had to wait for the full server response before knowing which resources to load. That waiting period could slow down rendering and frustrate users.

The solution? Give the browser a head start.

That's exactly why 103 was introduced. It helps reduce time to first paint (TTFP) and time to interactive (TTI) by allowing the browser to fetch resources early.

The Role of 103 in Web Performance

Think of it like this:

This small but powerful difference can dramatically improve perceived speed.

How It Works: A Step-by-Step Race

Let's walk through a real example. Imagine a server that needs 600 milliseconds to generate a homepage.

Without 103 Early Hints:

  1. 0ms: Browser sends GET /.
  2. 0ms - 600ms: Browser waits. (Total waiting: 600ms)
  3. 600ms: Server sends 200 OK with HTML. The HTML includes a link to styles.css.
  4. 600ms: Browser parses HTML, sees styles.css, and requests it.
  5. 600ms - 900ms: Browser waits for styles.css. (Total waiting: 900ms)
  6. 900ms: Browser has CSS and can start rendering.

With 103 Early Hints:

  1. 0ms: Browser sends GET /.
  2. 50ms: The server, which knows the page needs styles.css, quickly sends a preliminary response:
HTTP/1.1 103 Early Hints
Link: </styles.css>; rel=preload; as=style

3.  50ms: The browser receives the 103 response. It doesn't wait for the final          HTML. It immediately starts a preload request for styles.css.

4.   50ms - 600ms: The browser is now downloading styles.css in parallel while the server is still generating the HTML. The server finishes and sends the 200 OK with the HTML.

5.  600ms: The browser now has both the HTML and (likely) the CSS file already downloaded and in its cache. It can begin rendering immediately.

By using the 103 response, the browser spent the waiting time productively. The CSS download happened concurrently with server-side processing, effectively hiding the network latency for the CSS file. This can lead to a significantly faster First Contentful Paint (FCP) and Largest Contentful Paint (LCP).

The true power of 103 isn't in the status code itself, but in the Link header it carries. The Link header is a standard HTTP header for establishing relationships between the requested resource and other resources.

The most valuable rel (relation) value for performance is preload.

</styles.css>; rel=preload; as=style

This tells the browser:

Other useful as values include as=font, as=script, and as=image.

Why Use 103 Early Hints? The Tangible Benefits

  1. Improved Core Web Vitals: This is the biggest benefit. By allowing critical resources to be fetched earlier, 103 directly improves metrics like Largest Contentful Paint (LCP) and First Contentful Paint (FCP), which are key Google ranking factors.
  2. Better Resource Utilization: It turns sequential operations into parallel ones. The network is idle during TTFB; 103 uses that idle time to get a head start.
  3. No Code Changes: Unlike other optimizations that require you to change your HTML structure (e.g., pushing resources), 103 is implemented at the server or CDN level. Your application code remains unchanged.

The Challenges and Considerations

103 Early Hints is powerful, but it's not a magic bullet. There are important caveats:

  1. Browser Support: This is the main limiting factor. As of now, 103 Early Hints is primarily supported by Chromium-based browsers (Chrome, Edge, Brave). Firefox and Safari are still evaluating it. The good news is that it's a progressive enhancement browsers that don't support it will simply ignore the 103 response and wait for the final one, with no negative impact.
  2. Over-promising: You must be certain that the resources you hint about will actually be in the final HTML. If you send a 103 hinting at styles.css but then send HTML that doesn't use it, you've caused the browser to waste bandwidth on an unnecessary request.
  3. CDN or Server Support: You need your server software (like NGINX, Apache) or your CDN (like Cloudflare, Fastly) to support generating the 103 response. Many major CDNs now support it as a configurable feature.

How to Implement 103 Early Hints

You typically won't implement this directly in your application code (e.g., in your Node.js or Python app). The delay in your application is exactly what we're trying to work around. Instead, implementation happens closer to the edge:

CDN (Easiest Method): CDNs like Cloudflare offer 103 Early Hints as a simple toggle in their dashboard. They can automatically generate hints based on the Link headers found in the final response. You just enable it.

Web Server Configuration: For more control, you can configure your web server. Here's an example for NGINX:

# In your server or location block
location / {
    # This adds the 103 hint for specific resources
    add_header Link "</styles.css>; rel=preload; as=style" always;
    add_header Link "</app.js>; rel=preload; as=script" always;
    # Your usual proxy pass to the application
    proxy_pass <http://localhost:3000>;
}

The always parameter is key here, as it ensures the header is sent even for the provisional 103 response.

When Should You Use 103 Early Hints?

Use 103 Early Hints when:

Avoid using it for:

Testing and Debugging with Apidog

Seeing 103 in action requires looking at the raw HTTP conversation, which is hidden from users and often from developers in standard browser dev tools.

This is where Apidog becomes an essential part of your performance toolkit. With Apidog, you can:

  1. Capture Raw Traffic: Send a request to your server and use Apidog to inspect the raw, unfiltered HTTP responses. This allows you to see the 103 response followed by the final 200 response in the same connection.
  2. Verify Headers: Ensure your Link headers are correctly formatted with the proper rel and as attributes.
  3. Simulate Different Servers: Test against your production server, a staging server with 103 enabled, and a local server to compare the response timing and structure.
  4. Document Performance Flows: Use Apidog to document and share the before-and-after flow of your optimized endpoints with your team.
button

This deep level of inspection is crucial for validating that your 103 implementation is working correctly and actually improving the timing of your requests. If you want to truly understand how 103 works in your setup, Apidog gives you the hands-on playground you need.

The Future of Hinting

103 Early Hints is part of a broader shift towards a more proactive web. Other technologies like HTTP/2 Server Push aimed to solve a similar problem but were more complex and fell out of favor. 103 is a simpler, more elegant solution that gives the browser a suggestion rather than forcing data upon it.

As browser support expands, 103 could become a standard best practice for any performance-conscious website.

Best Practices for Developers

To use 103 Early Hints effectively:

Conclusion: Turning Dead Time into Productive Time

HTTP 103 Early Hints is a brilliant example of a simple idea having a profound impact. It recognizes that the time a server spends thinking is also a time the network could be spending fetching.

By sending a preliminary heads-up, servers can turn a period of passive waiting into an opportunity for parallel work, shaving valuable milliseconds off load times and creating a noticeably faster experience for users.

While browser support is still evolving, implementing 103 is a clear win as a progressive enhancement. It requires minimal effort, carries no risk for unsupported browsers, and offers significant performance gains for those that do support it.

In short, it's a clever HTTP trick that lets browsers start loading important resources before the main response is ready. This improves speed, SEO, and user experience all crucial in today's fast-paced digital world.

And when you're ready to implement, verify this advanced optimization and you want to go beyond theory, a powerful API tool like Apidog will give you the clarity and confidence to ensure your hints are being sent correctly, helping you build a faster, and optimize your APIs or websites for maximum performance for everyone.

Don't just read about it, download Apidog for free today and experience 103 Early Hints in action.

button

Explore more

Which AI Coding Agent Dominates in 2025 Claude Code or Codex CLI?

Which AI Coding Agent Dominates in 2025 Claude Code or Codex CLI?

Uncover the ultimate showdown between Claude Code and Codex CLI in this detailed 2025 comparison. Examine their core features, performance metrics, and real-world applications to determine the superior AI tool for developers.

10 September 2025

Software Documentation Guide: Concept, Benefits, Tools and Best Practices

Software Documentation Guide: Concept, Benefits, Tools and Best Practices

Discover comprehensive software documentation strategies that transform development workflows. Learn essential types, proven benefits, and professional best practices for creating exceptional API documentation that drives user success.

10 September 2025

GitLab CLI: What It Is and How It Supercharges Automated API Testing

GitLab CLI: What It Is and How It Supercharges Automated API Testing

Master GitLab CLI for seamless API testing automation. Discover how Apidog's powerful integration transforms your CI/CD pipelines with reliable, scalable automated API testing workflows.

10 September 2025

Practice API Design-first in Apidog

Discover an easier way to build and use APIs