Redirection côté serveur dans Symfony2
Bonjour
Je voudrais savoir si la méthode redirect des contrôleurs fait bien une redirection côté serveur et non coté client comme on peut le faire en renvoyant un header "Location" avec la nouvelle url et le status 302.
Dans la réponse d'une ancienne discussion j'ai trouvé l'information suivante:
- redirect() interrompt les traitements en cours. La fontion lance une exception, symfony l'intercepte, la reconnait et lance la nouvelle action. redirect() n'écrit pas sur le flux, son intervention est tout à fait invisible pour le navigateur du client.
Je veux bien admettre cette information comme juste mais ce qui m'étonne c'est que lorsque j'utilise redirect (nouvelle route)
la nouvelle URL apparait alors dans la barre d'adresse du navigateur.
Dans le cas d'une redirection côté serveur on devrait avoir la réponse correspondant à la nouvelle route mais conserver l'ancienne dans la barre d'adresse du navigateur.
Si quelqu'un peut m'apporter des informations sur le fonctionnement de redirect et m'expliquer pourquoi on voit la nouvelle url dans le navigateur je lui en saurais gré.
Il s'agit bien d'une redirection côté Client
Finalement j'ai trouvé la réponse dans la doc Symony2 sur l'objet Controller
La méthode redirect envoie bien un status http 302 .
Ma question était motivée par ma connaissance de Java Servlet et Jsp et je voulais l'équivalent d'un forward(url) sur un HttpRequestDispatcher.
A bien réfléchir sur Symfony la question ne se pose pas . On demande simplement au contrôleur de fabriquer une réponse à partir d'un template ( ce passe sur le serveur )