301 vs 302: Permanent vs Temporary Redirect

Both send the visitor to another URL. 301 says the move is permanent (update your links and index), 302 says it is temporary (keep using the old URL).

301

HTTP 301 Moved Permanently

The resource has a new permanent URL; clients and search engines should use the address in the Location header from now on.

Causes & fixes →
302

HTTP 302 Found (Temporary Redirect)

The resource is temporarily at another URL; clients should keep using the original URL for future requests.

Causes & fixes →
301302
MeaningMoved for goodMoved for now
SEORanking signals pass to the new URLOriginal URL usually stays indexed
Browser cachingCached aggressivelyNot cached by default
Method on redirectPOST may become GET (use 308 to keep it)POST may become GET (use 307 to keep it)
Use forHTTPS/www moves, renamed pages, domain changesLogin redirects, maintenance, A/B tests

Rule of thumb

If you never plan to use the old URL again, use 301 (or 308). Otherwise use 302 (or 307).