HTTP 308 Permanent Redirect is similar to 301 Moved Permanently but explicitly requires that the request method and body must not change when following the redirect. This is the correct redirect for APIs that need to permanently move endpoints while preserving POST, PUT, and DELETE methods.
308 Permanent RedirectGET /old-page HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/htmlHTTP/1.1 308 Permanent Redirect
Location: /new-page
Content-Type: text/html; charset=utf-8
Content-Length: 160
Cache-Control: max-age=31536000
<!doctype html>
<html>
<body>
<h1>Permanent Redirect</h1>
<p>This page has permanently moved to <a href="/new-page">/new-page</a>.</p>
</body>
</html>Since this is a permanent redirect, update all references to use the new URL directly.
Check the Location header for the new permanent URL.
curl -I https://example.com/api/v1/resource
If the redirect involves a domain change, verify DNS is resolving correctly.
Check PropagationAn API versioning change requires redirecting requests to a new path while preserving the HTTP method.
The server permanently redirects all HTTP traffic to HTTPS while preserving request methods.
| Specification | Section |
|---|---|
| HTTP Semantics | RFC 9110 §15.4.9 |
This reference was compiled from official RFCs, protocol specifications, and hands-on troubleshooting experience. AI tools were used primarily for formatting and organizing the content on the page.