This question was asked a long time ago when RFC 2616 was still hanging out. Some answers to this question are based on a document that is no longer relevant at present. To quote Mark Nottingham , who at the time of this writing was the co-chair of the IETF HTTP and QUIC working groups:
Do not use RFC2616 . Delete it from your hard drives, bookmarks and write down (or responsibly recycle) all printed copies.
The old RFC 2616 has been superseded by the following documents, which together define the HTTP / 1.1 protocol:
Therefore, I want to give an answer based on RFC 7231 , which is the current link to HTTP / 1.1 status codes.
Status Code 302
Response with 302 is a common way to perform URL redirects. Along with status code 302 response should contain a Location header with a different URI. Such a header will be parsed by the user agent and then redirected:

Web browsers may change from POST to GET in the following request. If this behavior is undesirable, you can use status code 307 (temporary redirection) instead.
Here's how status code 302 is defined in RFC 7231 :
6.4.3. 302 Found
Status code 302 (Found) indicates that the target resource is temporarily under a different URI. Since the redirection can be changed if necessary, the client should continue to use the valid request URI for future requests.
The server MUST generate a Location header field in the response containing a URI reference for another URI. The user agent MAY use the value of the Location field to automatically redirect. The server response payload typically contains a short hypertext note with a hyperlink to different URIs.
Note: For historical reasons, the user agent MAY change the request method from POST to GET for a subsequent request. If this behavior is not desired, status code 307 (temporary redirection) can be used instead.
According to Mozilla's MDN web docs , a typical use case for 302 is:
The webpage is temporarily unavailable for reasons that were not unforeseen. Thus, search engines do not update their links.
Other redirection status codes
RFC 7231 defines the following status codes for redirection:
301 (constantly moved)302 (found)307 (Temporary redirection)
RFC 7238 is designed to define a different status code for redirection:
See this answer for more information.