2009 mai 22
Les petits secrets de nos navigateurs: Partie 3
20:18 - Par denis - Tech'it izzy - Lien permanent
Une livre sinon rien
Lorsqu'un navigateur communique avec un serveur, ils utilisent des codes pour être sûr de bien se comprendre. Ces codes sont naturellement les mêmes pour tous et ne permettre guère l'improvisation. Il n'en reste pour autant pas moins qu'une requête HTTP (car c'est bien de cela qu'on parle) peut être constitué d'une entête et de données. En règle général et sauf contre ordre, les navigateurs affiches les données quelques soient le code envoyé.
Pour illustrer ces communications, j'ai créé une petite page test avec les principaux codes HTTP. Comme le montre le détail de la page test ci dessous, chaque code est appelé deux fois. La première fois (à gauche) avec peu de donnée, la seconde (à droite) avec plus de 512 octets de donnée, les deux pages affichant un carré vert.
Alors pourquoi cette limite des 512 octets? Et bien c'est là que réside le secret (et le jeu de mot foireux du titre également). Si vous regardez de plus près le résultat donné par le site broswershots (ci dessus), le navigateur Internet Explorer réagit différemment aux réponses HTTP en fonction du nombre d'octet envoyé. J'avoue que même si vous pouvez cliquer sur l'image des résultats pour zoomer, la chose n'est pas flagrante, c'est pourquoi, dans ma grande mansuétude, j'ajoute une copie d'écran (ci-dessous) d'une partie de la page test sous Internet Explorer. Encore une fois, Internet Explorer se démarque des autres navigateurs par un comportement que je n'arrive pas vraiment à comprendre. Concrètement, Internet Explorer n'interprète les données envoyées seulement si elles sont assez nombreuses...
Vous avez une explication?
Commentaires
L'explication (foireuse) officielle de l'époque, c'est que en cas d'erreur si le contenu de la page est trop faible (seuil arbitraire) alors il ne contient pas suffisamment d'information pour que l'erreur soit correctement expliquée/comprise par l'utilisateur.
Dans ce cas, IE affiche un message à lui pour expliquer l'erreur (pour un 404 par exemple IE affiche un layus t'expliquant dans quels cas il se peut que tu reçoives ce type d'erreur).
Cela a conduit certains sites (salesforce.com par exemple) à mettre un gros contenu (bidon, voir assassin envers IE et MS...) en commentaire dans leur retour sur code d'erreur pour être sur que le message renvoyé est affiché.
Le lundi, mai 25 2009, 10:47 par Seb
c'est le genre de truc qui peut te faire perdre une journée de boulot mais heureusement Denis veille pour nous !
Le lundi, juin 1 2009, 19:05 par Phiphi