Server. Transfer vs Response. Redirect
Servidor e Resposta são objetos no ASP. NET. O objeto de servidor fornece métodos e propriedades para várias tarefas relacionadas a um servidor. A transferência é um método do objeto Servidor e envia informações do estado atual para outro arquivo.asp para processamento. O objeto de resposta descreve métodos e propriedades relacionados à resposta de um servidor. Redirecionar é um método do objeto Resposta e envia uma mensagem ao navegador fazendo com que ele se conecte a um URL diferente. Embora Server. Transfer e Response. Redirect possam ser usados para transferir um usuário de uma página para outra, eles são diferentes na forma como realmente executam essa tarefa.
O que é Response. Redirect?
Redirect é um método no objeto Response. Quando o método Response é chamado, ele envia o código HTTP 302 e o URL da página da web solicitada para o navegador dos usuários. O código HTTP 302 informa ao navegador dos usuários que o recurso solicitado está localizado em uma URL diferente. Quando o navegador recebe o código, ele abre o recurso no novo local. A página da web solicitada pode residir no mesmo servidor que a página que continha a solicitação ou pode residir em algum outro servidor. Ao solicitar uma página da web residente no mesmo servidor da página atual, o método de resposta pode ser usado da seguinte maneira:
Response. Redirect (“nextPage.html”);
Ao solicitar uma página da web residente em outro servidor, o método de resposta pode ser usado da seguinte maneira:
Response. Redirect (“https://www.newServer.com/newPage.aspx”);
O que é Server. Transfer?
Conforme mencionado anteriormente, Transfer é um método do objeto Server. Quando o método Transfer é chamado, a solicitação original é modificada para transferir para alguma outra página no mesmo servidor. Quando uma nova página é solicitada usando o Server. Transfer, o URL mostrado no navegador do usuário não muda. Isso ocorre porque a transferência acontece no lado do servidor e o navegador não tem nenhum conhecimento sobre a transferência. Usando a segunda sobrecarga para Server. Transfer (string path, bool preserveForm) e definindo o segundo parâmetro como true, variáveis de formulário postadas e strings de consulta podem ser disponibilizadas para a segunda página.
Qual é a diferença entre Server. Transfer e Response. Redirect?
Embora Server. Transfer e Response. Redirect possam ser usados para transferir um usuário de uma página para outra, existem algumas diferenças entre os dois métodos. Além da aparente diferença sintática, Response. Redirect faz uma viagem de ida e volta para o servidor, enquanto Server. Transfer muda o foco do servidor da web para uma página da web diferente. Portanto, usando Server. Transfer, os recursos do servidor podem ser preservados. Por outro lado, Response. Redirect pode ser usado para redirecionar o usuário para uma página da web em outro servidor, enquanto Server. Transfer só pode ser usado para redirecionar o usuário para páginas da web no mesmo servidor. Também usando Server. Transfer, as propriedades da página anterior podem ser acessadas pela nova página, mas isso não é possível com Response. Redirect. Além disso, Response. O redirecionamento muda o URL na barra de endereço do navegador quando a nova página é acessada, mas ao usar o Server. Transfer, o URL original é retido e o conteúdo da página é apenas substituído. Portanto, o usuário não pode usá-lo para marcar a nova página.