Developer
Encoders, converters & dev utilities
308 Permanent Redirect
HTTP 308 Permanent Redirect. Permanent redirect that preserves the HTTP method and body (the method-preserving counterpart of 301). Cacheable by default. When to use it: Use for a permanent move where the method and body must be preserved (e.g. a POST endpoint that moved). It is a redirection (3xx) status, so the client is expected to follow the Location header to another URL. (Reference: RFC 9110 §15.4.9.)
Permanent redirect that preserves the HTTP method and body (the method-preserving counterpart of 301). Cacheable by default.
- When to use: Use for a permanent move where the method and body must be preserved (e.g. a POST endpoint that moved).
- How to handle: Update links and clients to the new URL from the Location header.
- Reference: RFC 9110 §15.4.9
- Category: 3xx Redirection
Frequently asked questions
What does HTTP 308 mean?
HTTP 308 Permanent Redirect: Permanent redirect that preserves the HTTP method and body (the method-preserving counterpart of 301). Cacheable by default. It is a redirection (3xx) status, so the client is expected to follow the Location header to another URL. It is defined in RFC 9110 §15.4.9.
What is the difference between 301 and 308?
Both are permanent redirects, but 301 Moved Permanently historically allowed clients to rewrite the method to GET, whereas 308 Permanent Redirect must preserve the original method and body. Use 301 for ordinary permanent page moves (it is the classic SEO redirect); use 308 when a non-GET endpoint (for example a POST API route) has permanently moved and the method must be kept.