Server. Transfer vs Response. Redirect
El servidor y la respuesta son objetos en ASP. NET. El objeto de servidor proporciona métodos y propiedades para diversas tareas relacionadas con un servidor. La transferencia es un método del objeto Servidor y envía información del estado actual a otro archivo.asp para su procesamiento. El objeto de respuesta describe métodos y propiedades relacionados con la respuesta de un servidor. Redirect es un método del objeto Response y envía un mensaje al navegador para que se conecte a una URL diferente. Aunque tanto Server. Transfer como Response. Redirect pueden usarse para transferir a un usuario de una página a otra, son diferentes en la forma en que realmente realizan esta tarea.
¿Qué es Response. Redirect?
Redirigir es un método en el objeto Respuesta. Cuando se llama al método Response, envía el código HTTP 302 y la URL de la página web solicitada al navegador de los usuarios. El código HTTP 302 informa al navegador de los usuarios que el recurso solicitado se encuentra en una URL diferente. Cuando el navegador recibe el código, abre el recurso en la nueva ubicación. La página web solicitada puede residir en el mismo servidor que la página que contenía la solicitud o podría residir en algún otro servidor. Al solicitar una página web que resida en el mismo servidor que la página actual, el método de respuesta se puede utilizar de la siguiente manera:
Response. Redirect ("nextPage.html");
Al solicitar una página web que reside en otro servidor, el método de respuesta se puede utilizar de la siguiente manera:
Response. Redirect ("https://www.newServer.com/newPage.aspx");
¿Qué es Server. Transfer?
Como se mencionó anteriormente, Transfer es un método del objeto de servidor. Cuando se llama al método de transferencia, la solicitud original se modifica para transferirla a otra página del mismo servidor. Cuando se solicita una nueva página utilizando Server. Transfer, la URL que se muestra en el navegador web de los usuarios no cambia. Esto se debe a que la transferencia ocurre en el lado del servidor y el navegador no tiene ningún conocimiento sobre la transferencia. Al usar la segunda sobrecarga para Server. Transfer (ruta de cadena, bool preserveForm) y establecer el segundo parámetro como verdadero, las variables de formulario publicadas y las cadenas de consulta pueden estar disponibles para la segunda página.
¿Cuál es la diferencia entre Server. Transfer y Response. Redirect?
Aunque tanto Server. Transfer como Response. Redirect pueden usarse para transferir a un usuario de una página a otra, existen algunas diferencias entre los dos métodos. Además de la aparente diferencia sintáctica, Response. Redirect realiza un viaje de ida y vuelta al servidor, mientras que Server. Transfer cambia el enfoque del servidor web a una página web diferente. Por lo tanto, al utilizar Server. Transfer, se pueden conservar los recursos del servidor. Por otro lado, Response. Redirect podría usarse para redirigir al usuario a una página web en otro servidor, mientras que Server. Transfer solo se puede usar para redirigir al usuario a páginas web en el mismo servidor. Además, al utilizar Server. Transfer, la nueva página puede acceder a las propiedades de la página anterior, pero esto no es posible con Response. Redirect. Además, Response. Redirigir cambia la URL en la barra de direcciones del navegador cuando se accede a la nueva página pero cuando se usa el servidor. Transferir la URL original se conserva y el contenido de la página simplemente se reemplaza. Por lo tanto, el usuario no puede usarlo para marcar la nueva página.