O editor de Downcodes lhe dará uma compreensão aprofundada dos dois principais métodos de salto em Servlets: encaminhamento e redirecionamento. Existem diferenças significativas nos métodos de solicitação, na exibição da barra de endereço do navegador, na transferência de parâmetros e nos mecanismos operacionais subjacentes. A escolha do método de salto apropriado é crucial para a construção de aplicativos da Web eficientes e amigáveis. Este artigo analisará detalhadamente os conceitos, diferenças e cenários de aplicação de encaminhamento e redirecionamento para ajudá-lo a entender e usar melhor essas duas tecnologias de salto.
Encaminhar e redirecionar são os dois principais métodos de salto do servlet, onde o encaminhamento também é chamado de encaminhamento e o redirecionamento também é chamado de redirecionamento. Existem diferenças entre encaminhamento e redirecionamento em termos de solicitante, representação de endereço do navegador, passagem de parâmetros e operações subjacentes.
Encaminhar e redirecionar são os dois principais métodos de salto do servlet. o encaminhamento também é chamado de encaminhamento e o redirecionamento é chamado de redirecionamento.
Processo de encaminhamento: O navegador do cliente envia uma solicitação http -> o servidor web aceita a solicitação -> chama um método interno para concluir o processamento da solicitação e a ação de encaminhamento dentro do contêiner -> envia o recurso de destino ao cliente;
Aqui, o caminho encaminhado deve ser o URL no mesmo contêiner da web. Ele não pode ser redirecionado para outros caminhos da web. A solicitação no próprio contêiner é passada no meio. O que aparece na barra de caminho do navegador do cliente ainda é o caminho mais acessado, o que significa que o cliente não consegue sentir que o servidor o encaminhou. O comportamento de encaminhamento significa que o navegador faz apenas uma solicitação de acesso.
Processo de redirecionamento: O navegador do cliente envia uma solicitação http -> após o servidor web aceitá-la, ele envia uma resposta do código de status 302 e o novo local correspondente para o navegador do cliente -> o navegador do cliente descobre que é um código de status 302 e irá enviar automaticamente um novo Para solicitações HTTP, o URL da solicitação é o novo endereço de localização - o servidor encontra recursos com base nessa solicitação e os envia ao navegador do cliente.
Aqui o local pode ser redirecionado para qualquer URL. Como o navegador reemite a solicitação, não há conceito de entrega da solicitação. O caminho de redirecionamento é exibido na barra de endereço do navegador do cliente e os clientes podem observar a alteração no endereço. O comportamento de redirecionamento é que o navegador faça pelo menos duas solicitações de acesso.
1. Na exibição da barra de endereço
O encaminhamento é um redirecionamento dentro do servidor. Quando o servidor solicita recursos, o servidor acessa diretamente a URL do endereço de destino, lê o conteúdo da resposta dessa URL e, em seguida, envia o conteúdo ao navegador. O navegador não tem ideia de onde vem o conteúdo enviado pelo servidor, então sua barra de endereço ainda é o endereço original.
Redirecionar significa que o servidor envia um código de status baseado na lógica para informar ao navegador para solicitar aquele endereço novamente. Portanto, a barra de endereço exibe o novo URL.
Portanto, redirecionar significa que o cliente envia duas solicitações ao servidor e também aceita duas respostas, enquanto o forword possui apenas uma solicitação.
2. Na perspetiva da partilha de dados
O método forward:forward só pode encaminhar solicitações entre recursos dentro do mesmo aplicativo da web e é uma operação dentro do servidor. Como a mesma solicitação é usada em todo o processo de redirecionamento, o forward trará as informações da solicitação para o jsp ou servlet redirecionado para uso, para que os dados possam ser compartilhados.
redirecionamento:redirect é quando o servidor notifica o cliente e permite que o cliente reinicie a solicitação. O redirecionamento pode não apenas redirecionar para outros recursos do aplicativo atual, mas também redirecionar para recursos em outros aplicativos no mesmo site e até mesmo redirecionar para recursos em outros sites usando URLs absolutos. Portanto, os dados não podem ser compartilhados.
3. Do ponto de vista dos cenários de aplicação
forward: Geralmente adequado para encaminhar para o módulo correspondente de acordo com a função quando o usuário faz login.
Redirecionamento: Geralmente adequado para que os usuários retornem à página principal ao sair e acessar outros sites.
4. Em termos de eficiência
para frente: alta eficiência.
redirecionar: baixa eficiência.
5. Essencialmente
O encaminhamento é um comportamento do servidor, enquanto o redirecionamento é um comportamento do cliente.
O texto acima é o conhecimento sobre encaminhamento e redirecionamento. Espero que seja útil para todos.
Espero que a explicação do editor de Downcodes possa ajudá-lo a entender melhor as diferenças e aplicações de encaminhamento e redirecionamento, e a fazer melhores escolhas no desenvolvimento real. Se você tiver alguma dúvida, continue perguntando!