HTTP 103 — Early Hints
1xx Informational
What it means
The server is sending Link headers so the browser can start preloading critical resources before the real response is ready.
What to do about it
Nothing to fix. Used well, it can measurably improve Largest Contentful Paint on slow backends.
Where it sits
103 belongs to the 1xx family: The request was received and the process is continuing. These are rarely seen by application code.
HTTP/1.1 103 Early Hints
Checking it yourself
# see the status code and headers only
curl -sI https://example.com/path
# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path
# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);
How this code behaves
| Cacheable by default | No — caches must not store this response unless explicit cache headers permit it. |
| Safe to retry | Not applicable. |
| Effect on search indexing | No direct effect. |
Returning 103 correctly
# nginx
return 103;
# Express
res.status(103).json({ error: 'Early Hints' });
# Go
w.WriteHeader(103)
# Python (Flask)
return jsonify(error='Early Hints'), 103;
Frequently asked questions
What does HTTP 103 mean?
The server is sending Link headers so the browser can start preloading critical resources before the real response is ready.
How do I fix a 103 error?
Nothing to fix. Used well, it can measurably improve Largest Contentful Paint on slow backends.
Is 103 a client or server problem?
Neither — it indicates success or progress.