HTTP 308 Permanent Redirect
Updated Free mock REST & WebSocket APIs
HTTP 308 Permanent Redirect — The resource has a new permanent URL and the client must repeat the request with the same method and body.
- Class
- 3xx Redirection
- Defined in
- RFC 9110 §15.4.9
- Official
- Yes (IANA registry)
- Cacheable by default
- Yes (heuristically, per RFC 9110)
Try it: get a real 308 response
Our test endpoint answers every request with 308 Permanent Redirect.
curl -i https://mockfox.dev/api/status/308Use it in tests, health-check monitors or to see how your client handles a 308. Add ?delay=2000 to slow it down.
What does HTTP 308 mean?
The permanent counterpart of 307 (RFC 7538, now RFC 9110): search engines treat it like 301, but clients keep the method, so a POST stays a POST. Use it for permanently moved API endpoints that accept writes. Next.js permanentRedirect() and permanent: true redirects in next.config return 308.
Handling 308
- Visitors: Browsers handle redirects automatically. If you're stuck in a loop, clear the site's cookies and cache.
- Developers: Check the
Locationheader and test redirects withcurl -I. Prefer 301/308 for permanent moves and 302/303/307 for temporary ones.
Example 308 response
HTTP/1.1 308 Permanent Redirect
Location: https://example.com/v2/items
Content-Type: application/json
{"status":308,"error":"Permanent Redirect"}3xx Redirection: Further action (usually following a Location header) is needed to complete the request. See the full list of HTTP status codes.
Related status codes
- 301 Moved PermanentlyThe resource has a new permanent URL, given in the Location header.
- 307 Temporary RedirectThe resource is temporarily at another URL and the client must repeat the request with the same method and body.
- 302 FoundThe resource is temporarily at a different URL, given in the Location header.
Related tools
Frequently asked questions
What does HTTP 308 Permanent Redirect mean?
The resource has a new permanent URL and the client must repeat the request with the same method and body.
Is 308 an error?
No. 308 is a redirection status — the client needs to take another step, usually following the Location header.
Where is 308 defined?
In RFC 9110 §15.4.9. It's listed in the IANA HTTP Status Code Registry.
How can I test how my app handles a 308?
Call https://mockfox.dev/api/status/308 — it responds with 308 to any method, with CORS enabled. Add ?delay=2000 to simulate a slow response.