---
title: "What is the difference between Response.redirect() and server.transfer()?"  
description: "What is the difference between Response.redirect() and server.transfer()?"  
author: "Anonymous User"  
published: 2010-10-15  
updated: 2020-09-20  
canonical: https://www.mindstick.com/interview/10/what-is-the-difference-between-response-redirect-and-server-transfer  
category: "asp.net"  
tags: ["asp.net"]  
reading_time: 3 minutes  

---

# What is the difference between Response.redirect() and server.transfer()?

Server.Transfer() : client is shown as it is on the requesting page only, but the all the content is of the requested page. Data can be persist accros the pages using Context.Item collection, which is one of the best way to transfer data from one page to another keeping the page state alive. \
\
Response.Dedirect() :client know the physical loation (page name and query string as well). Context.Items loses the persisitance when nevigate to destination page. In earlier versions of IIS, if we wanted to send a user to a new Web page, the only option we had was Response.Redirect. While this method does accomplish our goal, it has several important drawbacks. The biggest problem is that this method causes each page to be treated as a separate transaction. Besides making it difficult to maintain your transactional integrity, Response.Redirect introduces some additional headaches. First, it prevents good encapsulation of code. Second, you lose access to all of the properties in the Request object. Sure, there are workarounds, but they’re difficult. Finally, Response.Redirect necessitates a round trip to the client, which, on high-volume sites, causes scalability problems. \
\

## Answers

### Answer by Anonymous User

\
The **Response.Redirect method** redirects a request to a new URL and specifies the new URL while the Server.Transfer method for the current request, terminates execution of the current page and starts execution of a new page using the specified URL path of the page.\
\
**Server.Transfer** is used when redirecting the webpage with in the same application whereas Response.Redirect is applicable towards the redirection of webpage between two applications .**\****Response.Redirect** will instruct browser to call a particular webpage.This will increase one request and one response between the client and server.

### Answer by Pushpendra Singh

Server.Transfer() : client is shown as it is on the requesting page only, but the all the content is of the requested page. Data can be persist accros the pages using Context.Item collection, which is one of the best way to transfer data from one page to another keeping the page state alive. \
\
Response.Dedirect() :client know the physical loation (page name and query string as well). Context.Items loses the persisitance when nevigate to destination page. In earlier versions of IIS, if we wanted to send a user to a new Web page, the only option we had was Response.Redirect. While this method does accomplish our goal, it has several important drawbacks. The biggest problem is that this method causes each page to be treated as a separate transaction. Besides making it difficult to maintain your transactional integrity, Response.Redirect introduces some additional headaches. First, it prevents good encapsulation of code. Second, you lose access to all of the properties in the Request object. Sure, there are workarounds, but they’re difficult. Finally, Response.Redirect necessitates a round trip to the client, which, on high-volume sites, causes scalability problems. \
\


---

Original Source: https://www.mindstick.com/interview/10/what-is-the-difference-between-response-redirect-and-server-transfer

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
