308 Permanent Redirect

The HTTP 308 status code means a requested resource has been moved to a different URL once and for all.

308 Permanent Redirect implies a resource has moved permanently to a different location (as indicated in the Location header), and from now on, clients should look for this resource in a new location:

 HTTP/2 308 Permanent Redirect
 Location: https://example.com/new

308 vs 301

308 is similar to the 301 Moved Permanently status code: the redirect is permanent, and clients should update their links.

The difference is that with 308, clients should reuse the same request method and body that appeared in the original request.

Request Method Permanent Temporary
Can change from POST to GET 301 302
Can’t change from POST to GET 308 307

Browser support

308 Permanent Redirect was introduced in 2014, thus ancient browsers don’t support it. If the backward compatibility with ancient clients is a consideration, use 301.

Search engines

Search engines treat 308 the same way they do 301s: they pass most, if not all, of the domain authority (aka link juice) to the new URL.

Interested in no-nonsense technical guides?

No spyware, no promotional emails, or keyword-stuffed junk. I will only send you a single email when I've got something interesting to say. Unsubscribe anytime.

You can also subscribe to the Atom feed (it's like RSS, but better).