Some article I read once said that it means jumping (from one URI to another), but I detected this \"302\" even when there was actually no jumping at all!
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.
The old RFC 2616 has been supplanted by the following documents that, together, define the HTTP/1.1 protocol:
So I aim to provide an answer based in the RFC 7231 which is the current reference for HTTP/1.1 status codes.
302 status codeA response with 302 is a common way of performing URL redirection. Along with the 302 status code, the response should include a Location header with a different URI. Such header will be parsed by the user agent and then perform the redirection:
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 7231:
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 effective request URI for future requests.The server SHOULD generate a
Locationheader field in the response containing a URI reference for the different URI. The user agent MAY use theLocationfield value for automatic redirection. The server's response payload usually contains a short hypertext note with a hyperlink to the different URI(s).Note: For historical reasons, a user agent MAY change the request method from
POSTtoGETfor the subsequent request. If this behavior is undesired, the307(Temporary Redirect) status code can be used instead.
According to MDN web docs from Mozilla, a typical use case for 302 is:
The Web page is temporarily not available for reasons that have not been unforeseen. That way, search engines don't update their links.
The RFC 7231 defines the following status codes for redirection:
The RFC 7238 was created to define another status code for redirection:
Refer to this answer for further details.