Google recently posted officially an explanation to how Google Search redirects different URL requests.
What is redirecting of URLs?
It is basically interlinking between two web pages and your browser. As for example, if a URL of a certain page is entered into the browser, the URL tells the browser that the requested content is to be found on another page with a different URL and therefore, the browser jumps to the second page and shows you the real content.
Some of the types of redirecting of WebPages are given below:
301 – A Permanent redirect
This is a server-side redirect. It is a redirect where the server tells the search bot that the previous URL which is initially requested is no longer in use and therefore sends you to a new URL as provided by the website owner.
This is permanent, meaning it will never show you the actual old URL. It is preferably used during permanent change of the hosted website due to complete redesign or change of content.
303 – A Temporary redirect
This is also what is known as server-side redirect. It is similar to the permanent redirect with the difference being that it tells the search engine, the URL may change depending on the type of URL request. John Mueller has however pointed out that the search engines to index content which is under original URL as it remains unsure and redirects to new provided URL.
This is mostly useful for country-specific, user-specific, or language-specific redirects.
JavaScript redirects
Unlike the above two types, a JS redirect is a client-side redirect. Which basically means that the server initially shows the original page which then tells the browser to redirect to a second URL?
Meta refresh-type redirects
Being similar to above-mentioned JavaScript redirects, here the Meta tag provided on initial page supplies the browser with new information which then redirects to the new URL.