L'éditeur de Downcodes vous donnera une compréhension approfondie des deux principales méthodes de saut dans les Servlets : transférer et rediriger. Il existe des différences significatives dans leurs méthodes de requête, l'affichage de la barre d'adresse du navigateur, le transfert de paramètres et les mécanismes d'exploitation sous-jacents. Le choix de la méthode de saut appropriée est crucial pour créer des applications Web efficaces et conviviales. Cet article analysera en détail les concepts, les différences et les scénarios d'application du transfert et de la redirection pour vous aider à mieux comprendre et utiliser ces deux technologies de saut.
Le transfert et la redirection sont les deux principales méthodes de saut du servlet, où le transfert est également appelé transfert et la redirection est également appelée redirection. Il existe des différences entre le transfert et la redirection en termes de demandeur, de représentation de l'adresse du navigateur, de transmission de paramètres et d'opérations sous-jacentes.
Le transfert et la redirection sont les deux principales méthodes de saut du servlet. forward est également appelé transfert, et redirect est appelé redirection.
Processus de transfert : le navigateur client envoie une requête http -> le serveur Web accepte la demande -> appelle une méthode interne pour terminer le traitement de la demande et l'action de transfert à l'intérieur du conteneur -> envoie la ressource cible au client ;
Ici, le chemin transféré doit être l'URL sous le même conteneur Web. Il ne peut pas être redirigé vers d'autres chemins Web. La requête dans le propre conteneur est transmise au milieu. Ce qui est affiché dans la barre de chemin du navigateur du client est toujours le chemin le plus consulté, ce qui signifie que le client ne peut pas sentir que le serveur l'a transmis. Le comportement de transfert signifie que le navigateur n'effectue qu'une seule demande d'accès.
Processus de redirection : le navigateur client envoie une requête http -> une fois que le serveur Web l'a acceptée, il envoie une réponse de code d'état 302 et le nouvel emplacement correspondant au navigateur client -> le navigateur client découvre qu'il s'agit d'un code d'état 302 et le fera en envoyer automatiquement une nouvelle Pour les requêtes HTTP, l'URL de la requête est la nouvelle adresse d'emplacement - le serveur trouve les ressources en fonction de cette requête et les envoie au navigateur client.
Ici, l'emplacement peut être redirigé vers n'importe quelle URL Puisque le navigateur réémet la demande, il n'y a aucun concept de livraison de la demande. Le chemin de redirection est affiché dans la barre d'adresse du navigateur du client, et les clients peuvent observer le changement d'adresse. Le comportement de redirection est que le navigateur effectue au moins deux demandes d'accès.
1. Depuis l'affichage de la barre d'adresse
Le transfert est une redirection au sein du serveur. Lorsque le serveur demande des ressources, le serveur accède directement à l'URL de l'adresse cible, lit le contenu de la réponse de cette URL, puis envoie le contenu au navigateur. Le navigateur n'a aucune idée d'où vient le contenu envoyé par le serveur, sa barre d'adresse est donc toujours l'adresse d'origine.
La redirection signifie que le serveur envoie un code d'état basé sur une logique pour indiquer au navigateur de demander à nouveau cette adresse. La barre d'adresse affiche donc la nouvelle URL.
Ainsi, la redirection signifie que le client envoie deux requêtes au serveur et accepte également deux réponses alors que forword n'a qu'une seule requête ;
2. Du point de vue du partage de données
La méthode forward:forward ne peut transférer que les requêtes entre les ressources au sein de la même application Web et constitue une opération interne au serveur. Étant donné que la même requête est utilisée dans l'ensemble du processus de redirection, forward apportera les informations de la requête au jsp ou au servlet redirigé pour utilisation, afin que les données puissent être partagées.
redirect : la redirection se produit lorsque le serveur informe le client et lui permet de relancer la demande. La redirection peut non seulement rediriger vers d'autres ressources de l'application actuelle, mais également rediriger vers des ressources d'autres applications du même site, et même rediriger vers des ressources d'autres sites en utilisant des URL absolues. Les données ne peuvent donc pas être partagées.
3. Du point de vue des scénarios d'application
forward : Généralement adapté au transfert vers le module correspondant en fonction du rôle lorsque l'utilisateur se connecte.
Redirection : convient généralement aux utilisateurs qui souhaitent revenir à la page principale lorsqu'ils se déconnectent et accèdent à d'autres sites Web.
4. En termes d'efficacité
en avant : haute efficacité.
redirection : faible efficacité.
5. Essentiellement
Le transfert est un comportement sur le serveur, tandis que la redirection est un comportement sur le client.
Ce qui précède concerne les connaissances sur le transfert et la redirection. J'espère que cela sera utile à tout le monde.
J'espère que l'explication de l'éditeur de Downcodes pourra vous aider à mieux comprendre les différences et les applications du transfert et de la redirection, et à faire de meilleurs choix dans le développement réel. Si vous avez des questions, continuez à les poser !