308 Permanent Redirect

Same as 301 but the request method and body must be preserved when following the redirect.

Status

HTTP/1.1 308 Permanent Redirect

Details

308 is the method-preserving permanent redirect. Like 301 it tells clients and search engines to update their references, and like 307 it forbids rewriting a POST into a GET.

For API migrations it is the correct permanent code: callers update their base URL and their write requests keep working through the transition. For plain page moves 301 remains the more widely understood option, and both pass ranking signals.

Headers

Common causes

How to fix it

As the client

As the server

Examples

PUT /v1/items/44 HTTP/1.1
Host: old-api.example.com
Content-Type: application/json

{"name":"widget"}

HTTP/1.1 308 Permanent Redirect
Location: https://api.example.com/v1/items/44

Specifications

RFC 9110 §15.4.9

See also