3xx Redirection HTTP Codes
The 3xx (Redirection) class of status codes indicates that the client must take additional action to complete the request. These codes direct browsers and search engines to alternative URL locations.
Multiple Choices
Indicates multiple options for the resource from which the client may choose.
Moved Permanently
The requested resource has been assigned a new permanent URI.
Found
Indicates the resource resides temporarily under a different URI.
See Other
The server is redirecting the user to a different resource, intended to dictate a GET request.
Not Modified
Indicates that the resource has not been modified since the version specified by the request headers.
Use Proxy
Deprecated. Originally instructed the client to connect via a proxy mentioned in the Location header.
💡Understanding 3xx Redirection Codes
Why These Status Codes Matter
Correctly using 3xx status codes is vital for website SEO, domain migrations, and security. 301 passes permanent link equity to new URLs, while modern 307 and 308 redirects guarantee that POST/PUT payloads are preserved without being erroneously converted into GET requests.
Diagnostic & Troubleshooting Strategy
Watch out for infinite redirect loops (ERR_TOO_MANY_REDIRECTS) caused by conflicting HTTP-to-HTTPS rewrite rules in Nginx/Apache or circular OAuth login redirects.
Frequently Asked Questions About 3xx Codes
What is the difference between 301 and 302 redirects for SEO?
A 301 redirect indicates a permanent move, passing 90-99% of ranking equity (link juice) to the target URL. A 302 redirect indicates a temporary move, signaling search engines to keep indexing the original URL.
Why should I use 307 or 308 instead of 302 or 301?
307 (Temporary) and 308 (Permanent) strictly guarantee that the HTTP request method (e.g. POST, PUT, DELETE) and body are preserved across the redirect, preventing data loss.
How do I fix a 301 redirect loop in Nginx or Apache?
Check your server configuration for conflicting rewrite rules, verify Cloudflare SSL mode (switch from Flexible to Full/Strict), and clear browser redirection caches.