Response.Redirect()
is the most common way of redirecting a user from one web-page to another. For example, Whenever you write Response.Redirect("~/default.aspx")
in the code, server sends the response to browser with 302 status code. It also sends the location where the browser needs to redirect the user in Location
header in the response. So, whenever, the browser receives 302 status code, it looks for Location
header in the response and redirects the user to that web page.
Server.Transfer() is the way of redirecting a user from the server. For example, if you write Server.Transfer("~/default.aspx") in code, the server will redirect user to default.aspx
page & will display the response provided by default.aspx
page.
Response.Redirect()
, it's browser's responsibility to redirect the user to a web-page while in Server.Transfer()
it is Server's responsibility.Response.Redirect()
, URL changes to the new one while in Server.Transfer()
URL doesn't changes.Server.Transfer()
is faster than Response.Redirect()
.