What Does HTTP Status 308 Mean? (Permanent Redirect)
What HTTP 308 (Permanent Redirect) Means In Plain English
A 308 status (Permanent Redirect) means the resource moved permanently to a new URL, and the client must keep the original HTTP method.
Think of it as a strict, modern variant of permanent redirect behavior that is safer for API methods than legacy redirect handling.
If you want the broader context across all status code families, use the full HTTP Status Codes Guide (2xx, 3xx, 4xx, 5xx).
Quick Navigation
- What HTTP 308 (Permanent Redirect) Means In Plain English
- How to Read HTTP 308 in WebsiteDown Results
- Most Common Root Causes
- What to Do Next
- What to Avoid During Triage
- Real-World Examples
- HTTP 308 FAQ
How to Read HTTP 308 in WebsiteDown Results
In WebsiteDown checks, 308 is usually an availability-positive signal: the service responds and tells clients where to go permanently.
But permanent redirects can cause long-lived issues if the target URL, TLS setup, or host policy is wrong.
Use this alongside HTTP 301, HTTP 307, and HTTP 404 checks when migrations go live.
Most Common Root Causes
- Permanent API route moves where method/body must be preserved.
- Domain or path migrations for long-term canonical endpoints.
- Strict redirect policies in modern reverse proxies or frameworks.
- Infrastructure updates that moved endpoints but left stale links or DNS records.
What to Do Next
- Validate that every redirected target is healthy and returns expected status codes.
- Check method-sensitive endpoints (POST/PUT) after migration, not only GET routes.
- Review cache behavior and purge stale redirects after config fixes.
- Coordinate SEO, app, and API docs updates so old paths are consistently handled.
What to Avoid During Triage
- Do not use 308 for temporary maintenance routing; prefer temporary codes for short-lived changes.
- Do not deploy permanent redirects without testing deep links and API clients first.
Real-World Examples
- Example: legacy API path returns 308 to v2 endpoint and clients continue POST calls successfully.
- Example: 308 redirects to host with invalid certificate and users see failures despite reachable origin.
- Example: old app points to removed target and gets 404 after permanent redirect.