If you’ve spent any time on the internet, chances are you’ve encountered an HTTP status code.

Because of the complexity of how all those elements interact, there are many possible HTTP status codes you can run up against.
In this article, we’ll cover what you need to know about the HTTP 302 status code – jargon-free.
This question was asked a long ago, while the RFC 2616 was still hanging around. Some answers to this question are based in such document, which is no longer relevant nowadays. Quoting Mark Nottingham who, at the time of writing, co-chairs the IETF HTTP and QUIC Working Groups:
Don’t use RFC2616. Delete it from your hard drives, bookmarks, and burn (or responsibly recycle) any copies that are printed out.
And, as of June 2022, a new set of RFCs obsoleted the documents listed above:
So I aim to provide an answer based in the RFC 9110, which is the current reference for the HTTP semantics.
The HTTP response status code 302 Found is a common way of performing URL redirection. The HTTP/1.0 specification (RFC 1945) initially defined this code, and gave it the description phrase «Moved Temporarily» rather than «Found».
I have implemented ajax request to populate my drop down fields. It is working Fine but when I stay idle for some time and select some value in drop down the ajax request gets 302 found response. Is it due to session out. Please let me know the solution, can we do some setting that it will never get response as 302 found.
asked Feb 4, 2012 at 18:46
I would seriously recommend using something like Charles or Fiddler to track the requests being made.
answered Feb 4, 2012 at 18:52

4 gold badges38 silver badges66 bronze badges
In your code you should check whether a session is available,
because when a GET/POST request is sent, there may be additional requests for images or other resources. Sessions won’t be available for those requests.

54 gold badges463 silver badges472 bronze badges
answered Jan 2, 2013 at 3:46
1 silver badge5 bronze badges
This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.
Unless otherwise stated, the status code is part of the HTTP standard (RFC 9110).
All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:
- 1xx informational response – the request was received, continuing process
- 2xx successful – the request was successfully received, understood, and accepted
- 3xx redirection – further action needs to be taken in order to complete the request
- 4xx client error – the request contains bad syntax or cannot be fulfilled
- 5xx server error – the server failed to fulfil an apparently valid request
Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:
- Here are some of the questions
- What is 302 redirect?
- What is a redirect 302 for?
- HTTP 302 redirect example
- For Nginx web server
- Search for out-of-date software
- Cleaning the Logs
- Fix the application code
- What is an HTTP 302?
- Caching warning codes (obsoleted)
- 3xx redirection
- Explanatory notes
- Unofficial codes
- Internet Information Services
- AWS Elastic Load Balancer
- External links
- How a 302 Status Code Affects SEO
- The 302 status code
- 1xx informational response
- See also
- References
Here are some of the questions
- Is my website ready for it?
- What type of redirection is the most appropriate for my case?
- Will I lose all the SEO work I’ve done so far?
- Will Google penalize me? What happens if I eliminate redirects?
- How are they made?
In this article, I will answer all these questions so that you have more clarity to proceed in each case.
What is 302 redirect?
Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a 301 redirect is that, in the case of 302 redirects, the strength of the SEO is not transferred to a new URL.

This is because this redirection has been designed to be used when there is a need to redirect content to a page that will not be the definitive one.
Thus, once the redirection is eliminated, the original page will not have lost its positioning in the Google search engine.
Although it is not very common that we find ourselves in need of a 302 redirect, this option can be very useful in some cases. These are the most frequent cases:
What is a redirect 302 for?
The redirect 302 serves, for example, to have several versions of a homepage in different languages.
The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.

In this way, a mobilization of web traffic is achieved, but at the same time, the influence at the SEO level of the main page is not diluted. This continues to grow, even though there is no transfer of authority, as we explained earlier.
HTTP 302 redirect example
The most common HTTP 302 redirect example case is Google.
Regardless of the country from which you access, if you type in https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.

In case of Germany, 302 automatically take us to https://www.google.de/ so that we can search for content in German.
Portals of successful companies such as Coca-Cola or even Fujitsu also use this system to redirect traffic to where they consider most convenient.
Here are some of the most common reasons for the 302 redirect error:
- Using 302 redirects while the domain is moving;
- Creating a 302 redirect when you move the document;
- Using a 302 redirect during site protocol change;
- Creating 302 redirects while site structure is changing.
HTML redirect 302 is not recommended when the method of the original request is to be applied to the request of the destination URL — for example, moving the URL of a form directive that uses the POST method for a specific period.
You should not use the status code 302 if you want to transfer SEO-weight to the destination URL.
Verifying that the 301 and 302 redirect settings are correct is very easy.
When entering into the address bar of the old address, we observe what is happening.
The change of address indicates that everything is fine with the redirect.
The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.

To identify the webserver, you need to find the key file. If you are using the Apache web server, locate the .htaccess file in your site’s root filesystem.
Find the mod_rewrite directives
Once you find .htaccess file, open it in text-editor and find the line that uses the RewriteXXX directives belonging to the Apache mod_rewrite module.
Notice the additional banner at the bottom of RewriteRule, which clearly illustrates that a response code has to be 302, showing to the browser agent that it is a temporary redirect.
Therefore, if you get an unusual RewriteRule or RewriteCond directive in your .htaccess file that doesn’t seem to fit to it, try to temporarily annotate them (prefixed with #) and restart the webserver to check if the issue is resolved.
For Nginx web server

If your web server is operating on Nginx, you should look for a totally different file of configuration. This file is specified as nginx.conf by default and found in one of the common directories listed below:
/usr/local/nginx/conf, /etc/nginx or, /usr/local/etc/nginx.
Rewrite the directives on nginx. conf file
After detection, open the nginx.conf file in your text editor and find the rewrite directives that are relating to the redirect indicator.
Nginx rewrites directives are parallel to Apache RewriteRule and
RewriteCond because they usually comprise more complicated text-oriented search patterns.
Check the replacement policy of nginx. conf file
In any case, check the nginx.conf file for the exception replacement policy that contains a redirect flag (other permanent flag return response code 301).

Search for out-of-date software
The specification document of RFC for HTTP 1.0 states that the aim of a “302 Found” response code is intended to indicate that the client should execute a temporary redirect.

Cleaning the Logs
Almost all web applications store records on the server. The application log usually represents the application history, like which pages, servers were requested and connected, which were obtained from the provided database, and so on.
Fix the application code

Finally, as you have seen, we do not have to fear a lot about the HTTP 302 redirect errors. Without going any further, they are a fantastic way to avoid losing traffic on our web pages with the inevitable changes that arise over the years.
I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
Whether you want to make a contribution to the post or if you have a question or just want to give your opinion, do not hesitate to comment below!
400 Bad Request
The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing).
402 Payment Required
404 Not Found
The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
405 Method Not Allowed
A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
406 Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
407 Proxy Authentication Required
The client must first authenticate itself with the proxy.
408 Request Timeout
The server timed out waiting for the request. According to HTTP specifications: «The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.»
Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
Indicates that the resource requested was previously in use but is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a «404 Not Found» may be used instead.
411 Length Required
The request did not specify the length of its content, which is required by the requested resource.
412 Precondition Failed
The server does not meet one of the preconditions that the requester put on the request header fields.
413 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
416 Range Not Satisfiable
417 Expectation Failed
418 I’m a teapot (RFC 2324, RFC 7168)
421 Misdirected Request
The request was directed at a server that is not able to produce a response (for example because of connection reuse).
422 Unprocessable Entity
423 Locked (WebDAV; RFC 4918)
424 Failed Dependency (WebDAV; RFC 4918)
425 Too Early (RFC 8470)
Indicates that the server is unwilling to risk processing a request that might be replayed.
426 Upgrade Required
The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
428 Precondition Required (RFC 6585)
429 Too Many Requests (RFC 6585)
431 Request Header Fields Too Large (RFC 6585)
451 Unavailable For Legal Reasons (RFC 7725)
What is an HTTP 302?
For starters, it’s helpful to know that all HTTP messages with 3xx are redirection messages.
Say blog.hubspot.com no longer exists, and the content is now permanently housed on blogging.hubspot.com. This would trigger a 301 status code, which indicates a permanent redirection from one location to another.
The 302 redirect, on the other hand, is only temporary. A good example of when to use a 302 status code is for localization and language purposes.
For instance, if you visit a clothing website based in the United Kingdom but you are located in the United States. A 302 redirect would send you to the US version of the site to ensure the currency and other content are displayed correctly, according to your location.
You can also use a 302 status code when:
- Conducting A/B tests – Want to test a new page and get feedback on its performance? You can do this with a 302 redirect without hurting your ranking.
- Running a promotion – To drive traffic to a particular offer, you can set up a temporary redirect for a page that usually includes other content.
While this list is not exhaustive, here’s the golden rule to keep in mind: Only use a 302 redirect if the change is temporary.
Caching warning codes (obsoleted)
110 Response is Stale
The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
111 Revalidation Failed
The cache was unable to validate the response, due to an inability to reach the origin server.
112 Disconnected Operation
The cache is intentionally disconnected from the rest of the network.
113 Heuristic Expiration
The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
199 Miscellaneous Warning
214 Transformation Applied
Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
299 Miscellaneous Persistent Warning
Same as 199, but indicating a persistent warning.
3xx redirection
300 Multiple Choices
Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
301 Moved Permanently
This and all future requests should be directed to the given URI.
302 Found (Previously «Moved temporarily»)
303 See Other (since HTTP/1.1)
The response to the request can be found under another URI using the GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI.
304 Not Modified
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.
305 Use Proxy (since HTTP/1.1)
The requested resource is available only through a proxy, the address for which is provided in the response. For security reasons, many HTTP clients (such as Mozilla Firefox and Internet Explorer) do not obey this status code.
306 Switch Proxy
No longer used. Originally meant «Subsequent requests should use the specified proxy.»
307 Temporary Redirect (since HTTP/1.1)
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
308 Permanent Redirect
This and all future requests should be directed to the given URI. 308 parallel the behaviour of 301, but does not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly.
If you want to see when you’ve encountered a 302 redirect (or any type of redirect), consider using an application or Chrome extension (like this one, Redirect Path). This type of tool will show you directly in your browser when you run into a redirect. Tools like Pulsetic can be used to monitor websites and send alerts for server or website errors.
You can also view and implement the code from the backend by accessing your .htaccess file. To avoid accessing this file, you can also install a redirect manager plugin or an SEO tool that includes a redirect manager (like Yoast SEO Premium).
Overall, you want to make sure you understand how redirection messages affect SEO. A 302 status code can be a great strategy when making temporary changes to your website, like testing new website features and product promotions.
So, when you’re debating between various redirection messages, make sure the one you choose aligns with your long-term strategy.
Explanatory notes
Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.
The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs.
203 Non-Authoritative Information (since HTTP/1.1)
204 No Content
The server successfully processed the request, and is not returning any content.
205 Reset Content
The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
206 Partial Content
The server is delivering only part of the resource (byte serving) due to a range header sent by the client. The range header is used by HTTP clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.
207 Multi-Status (WebDAV; RFC 4918)
208 Already Reported (WebDAV; RFC 5842)
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
226 IM Used (RFC 3229)
The server failed to fulfil a request.
500 Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
501 Not Implemented
The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
502 Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 Service Unavailable
504 Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505 HTTP Version Not Supported
The server does not support the HTTP version used in the request.
506 Variant Also Negotiates (RFC 2295)
507 Insufficient Storage (WebDAV; RFC 4918)
508 Loop Detected (WebDAV; RFC 5842)
The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
510 Not Extended (RFC 2774)
511 Network Authentication Required (RFC 6585)
Unofficial codes
419 Page Expired (Laravel Framework)
Used by the Laravel Framework when a CSRF Token is missing or expired.
420 Method Failure (Spring Framework)
430 Request Header Fields Too Large (Shopify)
498 Invalid Token (Esri)
499 Token Required (Esri)
509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
529 Site is overloaded
530 Site is frozen
598 (Informal convention) Network read timeout error
599 Network Connect Timeout Error
An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.
Internet Information Services
Microsoft’s Internet Information Services (IIS) web server expands the 4xx error space to signal errors with the client’s request.
440 Login Time-out
449 Retry With
444 No Response
494 Request header too large
Client sent too large request or too long header line.
495 SSL Certificate Error
An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
496 SSL Certificate Required
An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
497 HTTP Request Sent to HTTPS Port
An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
499 Client Closed Request
520 Web Server Returned an Unknown Error
521 Web Server Is Down
523 Origin Is Unreachable
524 A Timeout Occurred
525 SSL Handshake Failed
526 Invalid SSL Certificate
527 Railgun Error
AWS Elastic Load Balancer
Amazon’s Elastic Load Balancing adds a few custom return codes
External links
- «RFC 9110: HTTP Semantics and Content, Section 15 «Status Codes»».
- Hypertext Transfer Protocol (HTTP) Status Code Registry at the Internet Assigned Numbers Authority
- MDN status code reference at mozilla.org
How a 302 Status Code Affects SEO
From an SEO perspective, it’s important to understand how a 302 status code can impact your ranking and when you should use it.
However, this also means that your temporary URL will not benefit from any link juice because Google knows it won’t be there long.
For comparison, a 301 code typically sends most link equity to your new URL, but your page can experience some drop in ranking as a result of the redirect.
The 302 status code

Web browsers may change from POST to GET in the subsequent request. If this behavior is undesired, the 307 (Temporary Redirect) status code can be used instead.
This is how the 302 status code is defined in the RFC 9110:
6.4.3. 302 Found
The 302 (Found) status code indicates that the target resource
resides temporarily under a different URI. Since the redirection
might be altered on occasion, the client ought to continue to use the
target URI for future requests.
The Web page is temporarily not available for reasons that have not been unforeseen. That way, search engines don’t update their links.
1xx informational response
101 Switching Protocols
The requester has asked the server to switch protocols and the server has agreed to do so.
102 Processing (WebDAV; RFC 2518)
103 Early Hints (RFC 8297)
See also
Refer to this answer for further details.
References
- Lawrence, Eric. «HTTP Methods and Redirect Status Codes». EricLaw’s IEInternals blog. Retrieved .
- «Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content». Tools.ietf.org. Retrieved .

