title: HTTPModule BeginRequest should us Response.Redirect or Server.Transfer
body: <p>We have a URLRewriting module that is using a Response.Redirect in the BeginRequest event method to change the destination page. </p>
  
  <ul>
  <li>Would it be better to use Server.Transfer or Server.TransferRequest instead of Response.Redirect? </li>
  <li>There are other HTTP Modules in the solution, will I bypass any of the other modules by using Server.Transfer or will the server begin as though it is a new request, just saving the round trip to the browser? </li>
  <li>Will the client notice any differences and will the server treat the request differently in anyway?</li>
  </ul>
  
  <p>The following questions cover the differences between redirect and transfer but not within an HTTP Module;  </p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/224569/server-transfer-vs-response-redirect">Server.Transfer Vs. Response.Redirect</a></li>
  <li><a href="https://stackoverflow.com/questions/521527/response-redirect-vs-server-transfer">Response.Redirect and Server.Transfer</a></li>
  </ul>
  
  <p><strong>EDIT:</strong> <a href="http://msdn.microsoft.com/en-us/library/system.web.httpcontext.rewritepath.aspx" rel="nofollow noreferrer">HttpContext.RewritePath</a> is also used in the module so it seems we have three techniques to move the initial Request from the original path; Redirect, Transfer, RewritePath which respectively; go back to browser, back to start of HTTP pipeline and continue processing on new path.</p>