DD
DevDash

HTTP 308 Permanent Redirect: What It Means and When You See It

Quick Answer

HTTP 308 Permanent Redirect is like 301 but the HTTP method must not change during redirect. A POST to the old URL becomes a POST to the new URL.

HTTP 308 vs 301

HTTP 308 Permanent Redirect is the method-preserving version of 301. Like 301, it tells clients the URL has moved permanently and to cache the new location. Unlike 301, a POST to a 308 endpoint redirects as a POST (not GET). Use 308 when permanently moving API endpoints that accept POST, PUT, or PATCH. Browser support for 308 is universal in modern browsers. Search engines treat 308 like 301 for PageRank transfer.

When to Use 308

Use 308 when permanently changing the URL of an API endpoint that receives non-GET requests. Example: moving /api/v1/users to /api/v2/users permanently while keeping POST support. In Next.js: { source: "/old", destination: "/new", permanent: true } generates 308 for API routes and 301 for page routes. For simple page URL changes, 301 is sufficient. 308 is mainly relevant for REST API versioning and webhook endpoint migrations.

Try the interactive tool

Convert any value instantly — no sign-up required

Open tool →

Frequently Asked Questions

Related Values

Want API access + no ads? Pro coming soon.