Response.Redirect() & Server.Transfer() in ASP.Net
The Redirect method causes the browser to redirect the
client to a different URL.
Server.Transfer acts as an efficient replacement for the Response.Redirect method. Response.Redirect specifies to the browser to request a
different page. Because a redirect forces a new page request, the browser makes
two requests to the Web server, so the Web server handles an extra request. IIS
5.0 introduced a new function, Server.Transfer,
which transfers execution to a different ASP page on the server. This avoids
the extra request, resulting in better overall system performance, as well as a
better user experience.
Say you have 2 pages (Page1 and Page2) where Page1 redirects to Page2.
In case of
1. Response.Redirect() : Search Engine
will take this redirection as Temporary(Status 301) and always keep Page1 in
2. Server.Transfer() : Search Engine
will be unaware of any redirection been took place (Status 200) and will keep
Page1 to its database. It will think Page1 is producing the output response of
When to use:
Response.Redirect() is perfect when
your page is temporarily changed and will again be reverted to original within
a short span of time.
Server.Transfer() when you are thinking of keeping the page for
ever, and to let search engine unaware of