408 vs 504: Request Timeout vs Gateway Timeout

408 and 504 can look similar in logs, but they tell clients, crawlers, and API consumers different things.

Aspect408504
MeaningRequest Timeout describes how the server processed the request and what the client should do next.Gateway Timeout describes how the server processed the request and what the client should do next.
Typical use caseHTTP 408 Request Timeout indicates a client errors response outcome.HTTP 504 Gateway Timeout indicates a server errors response outcome.
Caching/client behaviorCheck cache headers and downstream behavior for 408.Check cache headers and downstream behavior for 504.
SEO implicationsSearch crawlers interpret 408 according to client-errors semantics.Search crawlers interpret 504 according to server-errors semantics.
API/backend impactAPI clients may branch logic specifically on 408.API clients may branch logic specifically on 504.

When to use one vs the other

Use 408 when the response should communicate request timeout behavior; use 504 when gateway timeout is the accurate protocol signal.

A frequent mistake is swapping 408 and 504 for convenience; that causes client retry bugs, incorrect cache signals, and misleading monitoring data.

Decision summary: if user agents should receive the Request Timeout signal, return 408; if they should receive Gateway Timeout, return 504.

FAQ

What is the biggest difference between 408 and 504?

408 communicates Request Timeout, while 504 communicates Gateway Timeout. Choosing the right one keeps clients and intermediaries predictable.

Do 408 and 504 have SEO or caching impact?

Yes. Search engines and caches interpret status classes differently. Use each code according to its semantics to avoid accidental indexing, stale responses, or crawl inefficiency.

Can APIs safely return 408 instead of 504?

Only when it matches contract semantics. API clients often branch logic by exact code, so swapping them can break retries, auth handling, or user-facing errors.

Related guides: 408 Request Timeout ยท 504 Gateway Timeout

Related comparisons