301 vs 302 vs 307 vs 308: choosing a redirect status code
Four codes, two axes: permanent or temporary, and whether the HTTP method is preserved.
By ShortFreeURL Team · 3 June 2026
The two axes
Permanence tells caches and search engines whether to remember the new location. Method preservation tells the client whether a POST should stay a POST. 301 and 308 are permanent; 302 and 307 are temporary. 307 and 308 preserve the method; 301 and 302 historically do not.
301 — permanent, method may change
Use it when a URL has genuinely moved forever and you want search engines to transfer signals to the new address. Browsers cache it hard, sometimes indefinitely, so a 301 on a link you might later want to change is a trap.
302 — temporary, the sensible default for short links
The browser asks the server every time. Your click counts stay accurate, and changing the destination takes effect immediately for everyone. This is why link platforms default to 302.
307 and 308 — when the method matters
These were specified precisely because 301 and 302 were widely implemented to convert POST into GET. If a redirect can sit in front of a form submission or an API call, use 307 for temporary and 308 for permanent so the request body and method survive.
The SEO angle, briefly
For site migrations, 301 is correct. For marketing short links, SEO is irrelevant — you generally do not want short links indexed at all, and a good platform lets you set a robots policy that keeps them out of search results.
A practical rule
Short links: 302. Site migration: 301. Anything that might carry a POST: 307 or 308. Do not use 301 on a link whose destination you may want to edit.

