Mock HTML endpoint returning HTTP 504
https://demo-html-504.supercrontab.com/ answers every request with HTTP 504 Gateway Timeout and a small HTML body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 504 before it happens in production.
Live demo endpoint
Any method, any path. Returns 504 Gateway Timeout with Content-Type: text/html; charset=utf-8. OPTIONS returns 204 with CORS headers.
Call it with curl
curl -i https://demo-html-504.supercrontab.com/
Call it with fetch
const res = await fetch("https://demo-html-504.supercrontab.com/");
console.log(res.status); // 504
const body = await res.text();What HTTP 504 Gateway Timeout means
- When you see it
- A proxy waited for the upstream app and gave up. The request may or may not have been processed.
- What a client should do
- Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.
- Retry?
- Yes, with backoff
Sample response body
<!doctype html> <html> <head><title>Mock page</title></head> <body><h1>ok</h1><p>id 42</p></body> </html>
A tiny page. Useful for scrapers, uptime monitors and testing how a client treats HTML error pages.
Questions
Does this endpoint really return HTTP 504 every time?
Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-html-504.supercrontab.com/ gets status 504 Gateway Timeout with a small HTML body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.
Should my client retry a 504?
Yes, with exponential backoff and a cap on attempts. Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.
Can I get a different format, a delay or a custom body?
The same status is available in JSON, XML, Text, CSV, YAML, RSS, JavaScript. Delays, custom headers, error rates, request logging and your own body need a personal endpoint: sign up and create one at /endpoints in a minute, free.