Il y a des fois, je me demande (une demi-seconde) si je devrais vraiment utiliser un bon navigateur, tout comme le font 29% de ceux qui lisent ce blog... voici ma mésaventure qui peut être la vôtre :

  1. Vous avez un dossier /foo
  2. Vous avez un navigateur pas frais (internet explorer et lynx)
  3. Vous avez un script (certes codé rapidement) qui vous dirige vers monsite.com/../foo ou monsite.com/./foo

Eh bien vous aurez une belle erreur 400 (Bad Request)...
Aussi étonnant que cela puisse paraître, ce n'est pas (directement) la faute d'Internet Explorer, comme le prouvent ces quelques lignes ci-dessous :

christophe@monica:~$ telnet domtomconnection.com 80
Trying 80.248.209.100...
Connected to domtomconnection.com.
Escape character is '^]'.
GET /../../../foo HTTP/1.0

HTTP/1.1 400 Bad Request

Donc "à qui la faute" ?

  • à Apache qui ne sait pas bien gérer une requête un peu bizarre ? (notez que cd ../../../ à partir de / marchera très bien avec bash, donc la notion de (Virtual)DocumentRoot n'est pas gérée de la même façon que le root unix)
  • à Firefox et aux autres navigateurs de qualité qui réécrivent les URL et font croire aux développeur naïf que c'est normal ?
  • à Internet Explorer qui ne réécrit pas ces URL ?
  • à O.J. Simpson qui n'a (toujours) pas d'alibi dans cette affaire ?

Quoiqu'il en soit, cela prouve bien que, même lors de modifications tout à fait mineures pour le développeur, il faut **toujours** retester son site sous Internet Explorer, on est toujours surpris par des phénomènes de tout ordre, personne n'est à l'abri.