Redirection serveur et redirection navigateur

WRInaute discret
Bonjour à tous,

Juste pour aller au fond des choses : théoriquement, juste après l'expression "Location: http://www.###.com", la connection est renvoyée sur ladite adresse, dont le contenu s'affiche dans la fenêtre du navigateur, et il n'est donc nullement besoin d'ajouter du code html genre "veuillez nous excuser...." ou "Vous allez être redirigé automatiquement...". Mais y-a-t-il des circonstances qui contredisent cette supposition ?

Je profite de ce message pour faire une remarque à propos de l'excellent article tutoriel sur WRI par O. Duffez et O. Andrieu. J'y ai lu que 301 et 302 sont des redirections serveur, peut-être en opposition avec la redirection dite client (navigateur) que serait un refresh. Mais mon site est atypique dans le sens ou c'est ma base de données qui prend en charge l'intégralité du protocole ip, notamment les couches basses de l'ip (streams, statuts, buffer...) et ce que je vois, c'est que c'est bel et bien le navigateur qui prend l'initiative de rerouter "le stream de la connection". Le code source d'ailleurs ne montre nulle trace des deux lignes de code que sont la statut 301 ou 302 et l'indication de nouvelle "location: ", il transmet néammoins le précieux referer. C'est pourquoi pour ma part je serais tenté de dire qu'il y a une redirection html qu'est le refresh, et une redirection ip mais toutes les deux par le navigateur.

Mais cela m'intéresserait de connaître l'avis de spécialiste, dont ce forum ne doit pas manquer.

Merci d'avance.
 
WRInaute discret
>Précisément car elles sont server-side

Je dirais qu'elles ont envoyées par le serveur, mais l'instruction est exécutée par le navigateur.
 
WRInaute impliqué
Euh ... un peu "pourquoi faire simple quand on peut faire compliqué" ce topic.

Je ne vois pas le rapport entre le Location en HTTP et les couches IP ou les bases de données.

Location est simplement le nom d'un en-tête du protocole HTTP. Après faut savoir ce qu'est un protocole en informatique: c'est simplement une standardisation des échanges entre 2 machines. Dans le cas du HTTP, c'est spécialisé pour les pages web, etc... enfin bref.

Dans le protocole HTTP, les réponses du serveur se font en 2 parties: les en-têtes et le contenu du fichier. La commande "afficher la source" des navigateurs ne montre que le contenu du fichier. Il existe plusieurs plugins Firefox pour afficher les en-têtes par exemple.
Quand le navigateur reçoit un en-tête Location, il ne va pas chercher plus loin (il se fou si le serveur envoit un contenu de fichier ou pas), il change l'url courante pour la nouvelle (implémentation du protocole HTTP).

Le protocole HTTP est à un niveau très haut dans les protocoles réseaux, le fait qu'on soit sur de l'IP ou non ne change rien, c'est simplement un standard de communication entre 2 logiciels (serveur HTTP et client HTTP).
 
WRInaute discret
FloBaoti écrit

> Euh ... un peu "pourquoi faire simple quand on peut faire compliqué" ce topic.

C'est tout simplement parce que c'est plus compliqué quand en plus de faire un site, on réalise l'outil serveur entre l'internaute et les données elles-même. Mais en revanche il y a de gros avantages à utiliser cette configuration.

> Quand le navigateur reçoit un en-tête Location, il ne va pas chercher plus loin (il se fou si le serveur envoit un contenu de fichier ou pas), il change l'url courante pour la nouvelle (implémentation du protocole HTTP).

Nous sommes d'accord, c'est le navigateur qui exécute l'instruction de reroutage. Et celui qui donne l'ordre c'est le concepteur du site lui même. c'est lui qui sait si une page est ou non périmée, ou bien ses algorithmes qui en sont venus à cette conclusion, le serveur m'a semblé dans cette circonstance être juste un moyen de le transmettre.

Mais tout cela n'était pas destiné à ouvrir une polémique. Il y a peut-être ici des gens que cela intéressait, en plus de moi-même...
 
Discussions similaires
Haut