Developer

Encoders, converters & dev utilities

12 tools
Developer · HTTP Status Codes Reference

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.)

Quick answer

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
Open the full HTTP Status Codes Reference

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.

Related HTTP Status Codes Reference pages