HTTP codes that start with the number 3, indicate that the user agent is required to take further action in order to fulfill the request because the target has been moved to a different location and now can be accessed via a different URL


General Info

HTTP Status Code Label Read More
300 Multiple Choices Description
301 Moved Permanently Description
302 Found (Temporarily displaced) Description
303 See Other (open other storage location) Description
304 Not Modified Description
305 Use Proxy Description
306 Reserved Description
307 Temporary Redirect Description

Status 300: Multiple Choices

The 300 status code indicates that the incoming request has more than one possible responses hence, the user agent has to choose one of them. This, in general, happens because the requested resource is available in different types.

Since there is no standardized way of choosing one of the responses, this response code is very rarely used. If the server has a preferred choice, it should generate a Location header.

Status 301: Moved Permanently

The 301 status code indicates that the target content has been permanently moved to a different URI.
Clients with link-editing permissions should  automatically re-link references to the effective request URI to the new references sent by the server, where possible.

The server shoud generate a Location header field in the response containing a preferred URI reference for the new permanent URI.  

The user agent can use the Location field value for automatic redirection. 

  Note: A user agent can change the request method from POST to GET for historical reasons.  In case this behavior is not the desired one, the 307 (Temporary Redirect) status code can be used instead.

Status 302: Found

The 302 (Found) status code indicates that the target resource is temporarily located in a different URI.  Since the redirection might be occasionally changed, the client ought to continue to use the effective request URI for future requests.

In this case you can determine if the redirects are appropriate or not by examining the URLs that are issuing the 302 redirect.

Status 303: See Other

A 303 redirect is a response to an HTTP status code 303, which is also called a "See Other" status code. Experts describe this  type of redirect as a response to a request for a Unified Resource Identifier (URI) that identifies a real-world object. A 303 redirect may also be called HTTP 303.

Sometimes to fix this type of error, a simple refresh can do the job but in case it doesn't you can either access the link through a different URL since there might be a failure in the link you're using, or you can search for the page name in the browser.

In the worst case scenario, this is a server issue that needs to be addressed accordingly.

Status 304: Not Modified

An HTTP 304 status code  status code means that the website you're requesting hasn't been updated since the last time you accessed it. Typically, your browser will save web page's static resources that rarely change, such as images, fonts, css or js files. This is done for a better performance and user experience so it doesn't have to repeatedly download the same information from the server every time you request the page.

The first time you access the page these resources will be loaded with status code 200 OK, and then for every time you refresh without clearing the cache, and as long as these resources do not change, they will be loaded with status 304 Not Modified.

Status 305: Use Proxy

The HTTP Status Code 305 means that the resource you have requested is available only through a proxy, and that the address for the proxy is provided in the server's response.

Many HTTP clients such as popular browsers like Mozilla Firefox do not like this behaviour, hence they block the requests with this status code for security reasons.

Status 306: Reserved

The HTTP Status Code 306 originally meant that subsequent requests should use the specified proxy. This code was used in a previous version of the specification. Now it is no longer used, and the code is reserved.

Status 307: Temporary Redirect

The 307 status code indicates that the URL that you are requesting has been moved to a temporary location and will be back soon